matplotlib 散點(diǎn)圖和氣泡圖

matplotlib.pyplot.scatter的函數(shù)說(shuō)明如下:

matplotlib.pyplot.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)

常用參數(shù)有:x,y組成了散點(diǎn)的坐標(biāo);s為散點(diǎn)的面積;c為散點(diǎn)的顏色(默認(rèn)為藍(lán)色'b');marker為散點(diǎn)的標(biāo)記;alpha為散點(diǎn)的透明度(0與1之間的數(shù),0為完全透明,1為完全不透明);linewidths為散點(diǎn)邊緣的線寬;如果marker為None,則使用verts的值構(gòu)建散點(diǎn)標(biāo)記;edgecolors為散點(diǎn)邊緣顏色。
其他參數(shù)如cmap為colormap;norm為數(shù)據(jù)亮度;vmin、vmax和norm配合使用用來(lái)歸一化亮度數(shù)據(jù)

可以把氣泡圖是一種特殊的散點(diǎn)圖,散點(diǎn)圖展示兩個(gè)維度的數(shù)據(jù),氣泡圖還可用通過(guò)氣泡的大小和顏色展示數(shù)據(jù)。

%python.ipython
import pandas as pd
import matplotlib.pyplot as plt
import pandas as pd

#第一組數(shù)據(jù) 
d = {"time":pd.Series([2006,2007,2008,2009,2010]),
  "number":pd.Series([10,200,120,150,300]),
  "size":pd.Series([50,130,40,50,160]),
  "classification":pd.Series([1,2,0,1,2]),
  "judge":pd.Series([True,True,True,True,True])}
df=pd.DataFrame(d)

#第二組數(shù)據(jù)
d1 = {"time":pd.Series([2006,2007,2008,2009,2010]),
  "number":pd.Series([20,30,140,190,35]),
  "size":pd.Series([80,140,40,50,150]),
  "classification":pd.Series([1,2,0,1,2]),
  "judge":pd.Series([True,True,True,True,True])}
df1=pd.DataFrame(d1)

#先定義氣泡大小,rank 函數(shù)將大小列進(jìn)行大小分配,越大的值分配結(jié)果也越高
#n為倍數(shù),用來(lái)調(diào)節(jié)氣泡的大小
size=df['size'].rank()
n=60
 
plt.figure(figsize=(14, 8), dpi= 100, facecolor='w', edgecolor='k')
plt.gca().set(xlim=(0, 350), ylim=(0, 200), xlabel='number', ylabel='size')

plt.xticks(fontsize=22)
plt.yticks(fontsize=22)
plt.title("scatter picture", fontsize=22)

plt.scatter(df['number'],df['size'],color=[plt.cm.tab10(i) for i in df['classification']],s=size*n,alpha=0.6,marker='^',label="circle")
plt.scatter(df1['number'],df1['size'],color=[plt.cm.tab10(i) for i in df1['classification']],s=size*n,alpha=0.4,marker='o',label="triangle")
plt.grid(True)
plt.legend()
plt.savefig('/root/result.png')
plt.show()
scatter.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容