在matplotlib庫畸冲,使用plt.scatter()函數(shù)生成散點圖
import matplotlib.pyplot as plt
x=[0,1,2,3,4,5,6,7,8,9]
y=[6,3,6,5,5,5,0,3,2,8]
plt.scatter(x,y)
plt.show()
image.png
'''
plt.scatter()函數(shù)的主要參數(shù):
s:
size的縮寫裸诽,設(shè)置散點的大小。若是給定一個數(shù)值曹体,則所有點的大小一致迎捺;若是給定一個數(shù)組,則每個點的大小不同别威。
c:
color的縮寫躯舔,設(shè)置散點的顏色。若只有一個值省古,則所有的點設(shè)置為同一個顏色粥庄,若給定一個顏色數(shù)組,則不同的點可以設(shè)置成不同的顏色豺妓,若給定浮點數(shù)的數(shù)組飒赃,則映射到相應(yīng)的顏色。
marker:
用于設(shè)置散點的標(biāo)記科侈,用法與折線圖的marker參數(shù)一對稱,具體參考《python數(shù)據(jù)可視化--matplotlib繪制折線圖(2)》對marker的詳細(xì)介紹炒事。
cmap:
表示數(shù)據(jù)點的顏色映射表臀栈,僅當(dāng)參數(shù)c為浮點數(shù)的數(shù)組時才可用。cmap需要花很大的篇幅進行介紹挠乳,往后再詳細(xì)講解权薯,在此先按下不表。
norm:
表示數(shù)據(jù)的亮度睡扬,取值范圍在0~1盟蚣,只有c是一個浮點數(shù)的數(shù)組的時候才使用。
alpha:
表示數(shù)據(jù)的透明度卖怜,取值范圍在0~1屎开。
linewidths:表示數(shù)據(jù)點邊緣的寬度。
edgecolors:表示數(shù)據(jù)點邊緣的顏色马靠。
'''
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False## 默認(rèn)是使用Unicode負(fù)號奄抽,設(shè)置正常顯示字符,如正常顯示負(fù)號
x=np.random.normal(-8,5,100)#均值為-8甩鳄,方差為5的正態(tài)分布中隨機抽樣100個點
y=np.random.normal(-8,5,100)#均值為-8逞度,方差為5的正態(tài)分布中隨機抽樣100個點
x1=np.random.normal(5,5,50)#在均值為5,方差為5的正態(tài)分布中隨機抽樣50個點
y1=np.random.normal(5,5,50)#在均值為5妙啃,方差為5的正態(tài)分布中隨機抽樣50個點
plt.scatter(x1,y1,marker='^',label='小學(xué)')
plt.scatter(x,y,s=30,label='大學(xué)')
plt.legend()
plt.title('某城市小學(xué)與大學(xué)分布圖')
plt.show()
image.png
使用顏色映射
'''
顏色映射是一系列顏色档泽,從起始顏色漸變到結(jié)束顏色,可用于突出數(shù)據(jù)的規(guī)律
例如,交錢的顏色顯示較小的值馆匿,較深的顏色顯示較大的值
'''
import matplotlib.pyplot as plt
x = list(range(1,101))
y = [x_value**2 for x_value in x]
plt.scatter(x,y,c = y, cmap = plt.cm.Blues,s = 40)
#cmap表示使用哪種顏色
plt.show()
###自動保存圖表
plt.savefig('squares_plot.png',bbox_inches = 'tight' )
#第一個實參表示要以什么楊的文件名保存圖表抑胎,以及存儲位置,第二個表示將圖標(biāo)對于的空白區(qū)裁剪掉
image.png