一、ax.scatter參數
在使用ax.scatter函數的時候,需要了解一些常用的參數,這些參數可以幫助我們更好地使用這個函數。
首先是x和y參數。它們分別代表了在散點圖中點的橫坐標和縱坐標,一般是一個數組或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
plt.scatter(x, y)
plt.show()
圖中展示了使用x和y參數來繪製散點圖的效果。
除此之外,還有一些其他的重要參數,如c、s、alpha、marker等等。
c參數指定了點的顏色,可以是一個數組或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
colors = np.array([0, 10, 20, 30, 40])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
圖中展示了使用c參數來指定點的顏色的效果。
s參數指定了點的大小,可以是一個單獨的值,也可以是一個數組或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
sizes = np.array([20, 50, 100, 200, 500])
plt.scatter(x, y, s=sizes)
plt.show()
圖中展示了使用s參數來指定點的大小的效果。
alpha參數指定了點的透明度,取值範圍為0-1。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
sizes = np.array([20, 50, 100, 200, 500])
alphas = np.array([0.1, 0.3, 0.5, 0.7, 1])
plt.scatter(x, y, s=sizes, alpha=alphas)
plt.show()
圖中展示了使用alpha參數來指定點的透明度的效果。
marker參數指定了點的形狀,可以是一個單獨的值,也可以是一個數組或者列表。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
markers = ['o', 's', '^', 'D', 'v']
plt.scatter(x, y, marker=markers)
plt.show()
圖中展示了使用marker參數來指定點的形狀的效果。
二、ax.scatter中的紫色怎麼設置
在使用ax.scatter函數的時候,經常會遇到設置紫色的需求,那麼我們可以如何實現呢?
其實,紫色是RGB顏色模式中的一種。RGB顏色模式通常指的是由紅、綠、藍三種顏色光以不同的亮度混合而成的顏色。
在RGB顏色模式中,紫色可以表示為(128, 0, 128),這裡的三個數字分別代表紅色、綠色、藍色的亮度值,取值範圍是0-255。
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
colors = np.zeros((len(x), 3))
colors[:, 0] = 128
colors[:, 2] = 128
plt.scatter(x, y, c=colors/255)
plt.show()
圖中展示了如何使用RGB顏色模式中的(128, 0, 128)來設置紫色。
三、ax.scatter函數的其他用法
除了上面提到的常用參數外,ax.scatter函數還有很多其他用法。
例如,我們可以使用ax.scatter函數來繪製多個不同大小、不同顏色的點集。
import matplotlib.pyplot as plt
import numpy as np
x1 = np.random.rand(10)
y1 = np.random.rand(10)
s1 = np.random.randint(20, 200, 10)
c1 = np.random.rand(10, 3)
x2 = np.random.rand(10)
y2 = np.random.rand(10)
s2 = np.random.randint(20, 200, 10)
c2 = np.random.rand(10, 3)
fig, ax = plt.subplots()
ax.scatter(x1, y1, s=s1, c=c1, label='set 1')
ax.scatter(x2, y2, s=s2, c=c2, marker='s', label='set 2')
ax.legend()
plt.show()
圖中展示了如何使用ax.scatter函數來繪製多個不同大小、不同顏色的點集。
除了繪製一般的散點圖外,ax.scatter函數還可以用於繪製三維散點圖。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
x = np.random.rand(50)
y = np.random.rand(50)
z = np.random.rand(50)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z)
plt.show()
圖中展示了如何使用ax.scatter函數來繪製三維散點圖。
ax.scatter函數還可以用於繪製長度不同的線條。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 20)
y = np.sin(x)
fig, ax = plt.subplots()
s = np.linspace(0, 1, len(x))
for i in range(len(x) - 1):
ax.plot([x[i], x[i+1]], [y[i], y[i+1]], color=plt.cm.viridis(s[i]))
ax.scatter(x, y, s=50, c=s, cmap='viridis')
plt.show()
圖中展示了如何使用ax.scatter函數來繪製長度不同的線條。
原創文章,作者:FIDG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142874.html