環(huán)境:windows系統(tǒng)雁乡,anaconda3 64位第喳,python 3.6
1.初認(rèn)識(shí)
基本代碼如下:
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x, y)
plt.show()
這里使用numpy包的random
函數(shù)隨機(jī)生成1000組數(shù)據(jù),然后通過(guò)scatter函數(shù)繪制了散點(diǎn)圖踱稍。
隨機(jī)散點(diǎn)圖
這篇文章的重點(diǎn)其實(shí)在于scatter
函數(shù)曲饱。
scatter
- x,y 形如shape(n,)的數(shù)組,可選值珠月,
- s 點(diǎn)的大欣┑怼(也就是面積)默認(rèn)20
- c 點(diǎn)的顏色或顏色序列,默認(rèn)藍(lán)色啤挎。其它如
c = 'r' (red); c = 'g' (green); c = 'k' (black) ; c = 'y'(yellow)
-
marker 形狀驻谆,可選值,默認(rèn)是圓
基本
如果需要其他的庆聘,可搜索matplotlib的官網(wǎng)胜臊,在官網(wǎng)中搜索markers,選擇第一個(gè)結(jié)果伙判。
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
color = ['r','y','k','g','m']
plt.scatter(x, y,c=color,marker='>')
plt.show()
示例
- alpha:標(biāo)量象对,可選,默認(rèn)值:無(wú)宴抚, 0(透明)和1(不透明)之間的alpha混合值
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x, y,alpha=0.5)
plt.show()
示例alpha = 0.5
- edgecolors勒魔,顧名思義甫煞,邊緣顏色或顏色序列,可選值沥邻,默認(rèn)值:None
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x, y,alpha=0.5,edgecolors= 'white') #edgecolors = 'w',亦可
plt.show()
與上圖對(duì)比
2.圖例無(wú)法顯示中文
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x, y,alpha=0.5,edgecolors= 'white')
plt.title('示例')#顯示圖表標(biāo)題
plt.xlabel('x軸')#x軸名稱
plt.ylabel('y軸')#y軸名稱
plt.grid(True)#顯示網(wǎng)格線
plt.show()
中文無(wú)法顯示
查找原因危虱,發(fā)現(xiàn)時(shí)因?yàn)閙atplotlib庫(kù)沒(méi)有中文字體。
解決方案1
每次編代碼時(shí)都進(jìn)行參數(shù)設(shè)置如下:
#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來(lái)正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來(lái)正常顯示負(fù)號(hào)
#有中文出現(xiàn)的情況唐全,需要u'內(nèi)容'
解決方案2
說(shuō)實(shí)話,我折騰了半天沒(méi)有成功蕊玷,只有臨時(shí)方法成功了邮利。
等下次在嘗試满俗。
待續(xù)