scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
matplotlib.pyplot.scatter(x,
y,
s=20,
c='b',
marker='o',
cmap=None,
norm=None,
vmin=None,
vmax=None,
alpha=None,
linewidths=None,
verts=None,
hold=None,
**kwargs)
參數:
x,y:表示的是shape大小爲(n,)的數組,也就是我們即將繪製散點圖的數據點,輸入數據。
s:表示的是大小,是一個標量或者是一個shape大小爲(n,)的數組,可選,默認20。
c:表示的是色彩或顏色序列,可選,默認藍色’b’。但是c不應該是一個單一的RGB數字,也不應該是一個RGBA的序列,因爲不便區分。c可以是一個RGB或RGBA二維行數組。
在這裏插入圖片描述
marker:MarkerStyle,表示的是標記的樣式,可選,默認’o’。
cmap:Colormap,標量或者是一個colormap的名字,cmap僅僅當c是一個浮點數數組的時候才使用。如果沒有申明就是image.cmap,可選,默認None。
norm:Normalize,數據亮度在0-1之間,也是隻有c是一個浮點數的數組的時候才使用。如果沒有申明,就是默認None。
vmin,vmax:標量,當norm存在的時候忽略。用來進行亮度數據的歸一化,可選,默認None。
alpha:標量,0-1之間,可選,默認None。
linewidths:也就是標記點的長度,默認None。
案例:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
area=(50*np.random.rand(20))**2
plt.scatter(x,y,s=area,alpha=0.5)
plt.show()
把c參數改成隨機數組。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
colors=np.random.rand(20)
area=(50*np.random.rand(20))**2
plt.scatter(x,y,s=area,c=colors,alpha=0.5)
plt.show()
把maker參數改成x的樣本。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
colors=np.random.rand(20)
area=(50*np.random.rand(20))**2
plt.scatter(x,y,s=area,c=colors,alpha=0.5,marker='x')
plt.show()
修改其中的linewidth參數的大小,但是沒什麼不同,注意:只有marker爲封閉的圖案的時候,這個參數纔有效。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
colors=np.random.rand(20)
area=(50*np.random.rand(20))**2
plt.scatter(x,y,s=area,c=colors,alpha=0.5,marker='x',linewidths=lines)
plt.show()
把s參數改成200。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
colors=np.random.rand(20)
plt.scatter(x,y,s=200,c=colors,alpha=0.5)
plt.show()
把linewidths參數改成數組。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
lines=np.zeros(220)+5
plt.scatter(x,y,s=200,c='b',alpha=0.5,linewidths=lines)
plt.show()
把alpha參數改成1。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(20)
y=np.random.rand(20)
lines=np.zeros(20)+5
plt.scatter(x,y,s=200,c='b',alpha=1,linewidths=lines)
plt.show()