Matplotlib
安裝、長條圖、圓餅圖、散佈圖
1.安裝
開啟新 terminal 輸入下面這行
pip install matplotlib

2. 把它 import 進來
並簡稱為 plt
import matplotlib.pyplot as plt3. 試試看生成第一張圖
import matplotlib.pyplot as plt
x=[1,2,3] #x座標
y=[4,5,6] #y座標
plt.plot(x,y) #依照x,y軸數值繪圖
plt.show()
折線圖
import matplotlib.pyplot as plt
# 假設我有資料 (2,3) (5,5) (7,8) (10,9) (12,9)
plt.plot([2,5,7,10,12],[3,5,8,9,9])#X一組 Y一組
plt.show()import matplotlib.pyplot as plt
# 假設我有資料 (2,3) (5,5) (7,8) (10,9) (12,9)
X=[2,5,7,10,12]
Y=[3,5,8,9,9]
plt.plot(X,Y)
plt.show()
圖例、坐標軸名、圖名
1.在程式開頭設定支援中文的字型
plt.rc("font",family="MingLiU")2.設定圖例
plt.plot(X,Y,label="我是圖例")
plt.legend()#產生圖例3.設定x,y軸標題
plt.xlabel("我是x軸標題")
plt.ylabel("我是y軸標題")4.設定圖名
plt.title("我是標題")補充( 懶得改了)
plt.xlim(0,15)#設定x軸始末點
plt.ylim(0,15)#設定y軸始末點
看看效果
import matplotlib.pyplot as plt
# 假設我有資料 (2,3) (5,5) (7,8) (10,9) (12,9)
plt.rc("font",family="MingLiU")#設定字體
X=[2,5,7,10,12]
Y=[3,5,8,9,9]
plt.plot(X,Y,label="我是圖例")
plt.legend()#產生圖例
plt.xlabel("我是x軸標題")
plt.ylabel("我是y軸標題")
plt.title("我是標題")
plt.show()

圓餅圖
1.跟之前差不多
圓餅圖介紹
import matplotlib.pyplot as plt
# 假設我有資料 10 15 25
plt.rc("font",family="MingLiU")#設定字體
plt.pie([10,15,25],labels=["20%","30%","50%"]) #透過labels將每一資料命名
plt.legend()#產生圖例
plt.title("我是圓餅圖")
plt.show()

import matplotlib.pyplot as plt
# 假設我有資料 10 15 25
plt.rc("font",family="MingLiU")#設定字體
data=[10,15,25]
percent=["20%","30%","50%"]
plt.pie(data,labels=percent) #透過labels將每一資料命名
plt.legend()#產生圖例
plt.title("我是圓餅圖")
plt.show()2.改變資料名稱的位置:
透過 labeldistance 參數
0代表圓心 1代表圓周
plt.pie(data,labels=percent,labeldistance=0.5)
散佈圖
1.前面跟之前一樣(真水)
散佈圖是 scatter
plt.scatter(X,Y,label="我是圖例")import matplotlib.pyplot as plt
# 假設我有資料 (2,3) (5,5) (7,8) (10,9) (12,9)
plt.rc("font",family="MingLiU")#設定字體
X=[2,5,7,10,12]
Y=[3,5,8,9,9]
plt.scatter(X,Y,label="我是圖例")
plt.legend()#產生圖例
plt.xlim(0,15)#x軸始末
plt.ylim(0,15)#y軸始末
plt.xlabel("我是x軸標題")
plt.ylabel("我是y軸標題")
plt.title("我是散佈圖")
plt.show()
2.透過 c 改變點的顏色, s 改變點的大小
散佈圖介紹
plt.scatter(X,Y,label="我是圖例",c="blue",s=20)c 的表示法很多種(參見連結)
最簡單可以打顏色名稱或色號
https://matplotlib.org/stable/gallery/color/named_colors.html#sphx-glr-gallery-color-named-colors-py
plt.scatter(X,Y,label="我是圖例",c="#A6FFFF",s=100)

顏色和大小也可以用陣列來設定每一個
colors=["blue","green","purple","red","yellow"]
sizes=[20,60,120,200,400]
plt.scatter(X,Y,label="我是圖例",c=colors,s=sizes)
3.透明:
透過alpha 設定點的透明度
參數 0(透明)~1(不透明) 預設為1
plt.scatter(X,Y,label="我是圖例",c=colors,s=sizes,alpha=0.5)
邊框
透過 linewidths 設定外框粗細 預設無外框
透過 edgecolors 設定外框顏色 預設和c相同(這兩個也可以用陣列)
plt.scatter(X,Y,label="我是圖例",c=colors,s=sizes,linewidths=1,edgecolors="black")

Matplotlib
By shenpor
Matplotlib
- 19