Matplotlib庫入門——簡單使用方法(折線圖,柱狀圖,餅圖,散點圖)
python第三方庫——matplotlib庫
這是一個python用來將數據可視化的第三方庫,下面將用案例和大家分享其在實際操作中的簡單使用方法
1.導入matplotlib
import matplotlib.pyplot as plt
import numpy as np
這裏爲在使用中的方便,將matplotlib庫別名爲plt,numpy庫別名爲np
2.定義可視化的簡單數據
#x = [1,2] #二者維度必須相同 ValueError: x and y must have same first dimension, but have shapes (2,) and (5,)
x = [1,2,3,4,5]
y = [6,7,8,9,10]
x1 = [11,12,13,14,15]
y1 = [16,17,18,19,20]
在設置數據的時候需要注意,x和y的維度必須對應相等,否則就會報錯如圖中註釋所示
3.設置全局變量,保存一些信息
plt.rcParams['font.family'] = ['SimHei'] #設置中文字體,SimHei時黑體 rcParmams是Matplotlib全局變量,保存一些設置信息
解釋以下設置的目的,在可視化時需要對圖的標題,x或y軸進行中文標記,設置label,若無這行代碼將顯示不出中文字體。對該參數的其它參數名解析
#'font.family' 用於顯示字體的名字 | 'font.style' 字體風格,正常'normal'或 斜體'italic' | 'font.size' 字體大小,整數字號或者'large'、'x‐small'
'''
'SimHei' 中文黑體
'Kaiti' 中文楷體
'LiSu' 中文隸書
'FangSong' 中文仿宋
'YouYuan' 中文幼圓
'STSong' 華文宋體
'''
4.繪製折線圖
#紅色“r” 綠色“g” 青色“c” 品紅“m” 黃色“y” 黑色“k” 藍色“b”| label顯示線段名 | linewidth是設置寬度
plt.plot(x,y,'b',label = '線1',linewidth = 2)
plt.title('折線圖')
plt.ylabel('y軸')
plt.xlabel('x軸')
#設置圖例 plt.legend(loc='位置')
plt.legend()
#以72分辨率來保存名爲“折線圖”的圖片
plt.savefig('折線圖',dpi = 72)
plt.show()
具體的其它顏色如下:
'b' 藍色
'm' 洋紅色 magenta
'g' 綠色
'y' 黃色
'r' 紅色
'k' 黑色
'c' 青綠色
'w' 白色
'#008000' RGB某顏色
'0.8' 灰度值字符串
圖片保存默認爲本地.jpg格式
5.繪製柱狀圖
#柱狀圖
plt.bar(x,y,label = '柱狀圖1')
plt.bar(x1,y1,label = '柱狀圖2')
plt.title('柱狀圖')
plt.ylabel('y軸')
plt.xlabel('x軸')
plt.legend()
plt.show()
6.繪製餅圖
#餅圖
activies = ['工作','吃','睡','玩'] #設置所要可視化事件的標題
times = [8,7,3,6] #每個事件所需要的時間
color = ['c','m','r','b'] #每個事件可視化的顏色
#shadow設置是否有陰影 explode 設置各項脫離餅主題的效果 autopct設置各項顯示百分比 %.1f格式化字符串 %%顯示一個百分號%
plt.pie(times,labels = activies,colors = color,shadow = True,explode = (0,0.1,0,0),autopct = '%.1f%%')
plt.title('餅圖')
plt.show()
在繪製餅圖時,只需給出每個事件所佔的時間,會自動計算所佔的半分比
7.繪製散點圖
#散點圖
plt.rcParams['axes.unicode_minus'] = False #設置顯示負號,由於設置了顯示中文字體影響圖中負號的顯示,重新設置
n = 1024
x = np.random.normal(0,1,n)
y = np.random.normal(0,1,n)
plt.scatter(x,y) #繪製散點圖
plt.title('散點圖')
plt.show()
使用numpy的random方法隨機生成1024個0到1之間的隨機數
以上代碼在pycharm中編寫,在圖片展示時會直接彈出一個框顯示可視化的圖片。