Matplotlib

安裝、長條圖、圓餅圖、散佈圖

1.安裝

開啟新 terminal 輸入下面這行

pip install matplotlib

 

2. 把它 import 進來

並簡稱為 plt

import matplotlib.pyplot as plt

3. 試試看生成第一張圖

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