【Python數據可視化】Matplotlib學習筆記之pyplot(1)
簡介:Matplotlib 是一個Python的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形 。通過 Matplotlib,開發者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。
編程環境:Python 3.8
pycharm 2017
需要安裝的庫:numpy,matplotlib
源碼鏈接:python-matplotlib-26個編程實例.rar
'''1.折線圖'''
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-100,100,10)#等區間分成100個數
y=x**2
plt.plot(x,y)
plt.show()
y1=np.sin(x)
plt.plot(x,y1)
plt.show()
'''2.散點圖'''
import numpy as np
import matplotlib.pyplot as plt
height = [161,162,165,170,182,175,173,165]
weight = [50,51,53,58,80,70,69,55]
plt.scatter(height,weight,s=100,c='red',marker='<',alpha=0.5,)
plt.show()
N=1000
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y)
plt.show()
y1=x+np.random.randn(N)*0.5
plt.scatter(x,y1)
plt.show()
'''3.條形圖'''
import numpy as np
import matplotlib.pyplot as plt
N=5
y=[20,10,30,25,15]
index=np.arange(N)
pl=plt.bar(x=index,height=y,width=0.5,color='orange')
plt.show()
pl=plt.bar(x=0,bottom=index,height=0.5,width=y,color='blue',orientation='horizontal')#水平條形圖
plt.show()
salesBJ=[52,55,63,53,51]
salesSH=[44,66,55,41,58]
bar_width=0.3
plt.bar(index,salesBJ,bar_width,color='orange')
plt.bar(index+bar_width,salesSH,bar_width,color='red')
plt.show()
#層疊圖
plt.bar(index,salesBJ,bar_width,color='orange')
plt.bar(index,salesSH,bar_width,color='red',bottom=salesBJ)
plt.show()
'''4.直方圖'''
import numpy as np
import matplotlib.pyplot as plt
'''和條形的區別,某一變量的連續分佈'''
mu=100#均值
sigma=20 # 標準差
x=mu+sigma*np.random.randn(20000) #產生2000個數據
'''normed標準化 edgecolor邊界顏色'''
plt.hist(x,bins=100,color='orange',edgecolor='k',normed=True)
plt.show()
'''雙變量直方圖'''
x1=np.random.randn(1000)+2
y1=np.random.randn(1000)+5
plt.hist2d(x1,y1,bins=40)#顏色深淺表示頻率大小
plt.show()
'''5.餅狀圖'''
import numpy as np
import matplotlib.pyplot as plt
'''各個數據佔總和的比例'''
labels='A','B','C','D'
fracs=[17,33,49,18]
explode=[0,0.05,0,0]
plt.pie(x=fracs,labels=labels,autopct='%1.1f%%',explode=explode,shadow=True)
plt.show()
'''6.箱型圖'''
import numpy as np
import matplotlib.pyplot as plt
'''盒須圖,盒式圖,箱線圖
顯示一組數據分散情況的統計圖
參數:上邊緣,上四分位數,中位數,下四分位數,下邊緣,異常值'''
np.random.seed(100)
data=np.random.normal(size=1000,loc=0,scale=1)
plt.boxplot(data,sym='<',whis=1.5)
plt.show()
data1=np.random.normal(size=(1000,4),loc=0,scale=1)
labels=['A','B','C','D']
plt.boxplot(data1,labels=labels)
plt.show()
'''7.顏色和樣式'''
import numpy as np
import matplotlib.pyplot as plt
'''1.顏色'''
'''八種內建默認顏色縮寫
blue:'b'
green:'g'
red:'r'
cyan:'c'
magenta:'m'
yellow:'y'
black:'k'
white:'w'
其他顏色表示方法
灰色陰影
HTML十六進制
RGB元組
'''
y=np.arange(1,5)
plt.plot(y,color='c')
plt.plot(y+1,color='0.5')
#plt.plot(y+2,color='#FFOOFF')
plt.plot(y+3,color=(0.5,0.1,0.3))
plt.show()
'''2.點、線的樣式'''
'''23種點形狀。注意:不同點形狀默認使用不同的顏色
'.'
','
'o'
'v'
'^'
'<'
'>'
'1'
'2'
'3'
'4'
'8'
's'
'p'
'*'
'h'
'H'
'+'
'x'
'D'
'd'
'|'
'_'
四種線型
- 實線
-- 虛線
-. 點劃線
: 點線
'''
plt.plot(y,marker='o',)
plt.plot(y+1,marker='<')
plt.plot(y+2,marker='h')
plt.show()
plt.plot(y,'-',)
plt.plot(y+1,'--')
plt.plot(y+2,'-.')
plt.plot(y+3,':')
plt.show()
'''3.樣式字符串
可以將顏色,點型,線型寫成一個字符串,如:
cx--
mo:
kp-
'''
plt.plot(y,'cx--',)
plt.plot(y+1,'mo:')
plt.plot(y+2,'bp-')
plt.plot(y+3,'gh-.')
plt.show()
接下篇: 【Python數據可視化】Matplotlib學習筆記之pyplot(2) <<<點此閱讀