DataFrame亦可以進行繪製圖型. 但DataFrame內部調用了matplotlib的plt.plot方法繪制圖型, 所以最後還是需要調用plot.show()才可以顯示圖形.
長條圖
底下代碼, 需先 pip install plotly, plotly-express, matplotlib
先使plotly的內建資料, 依各大洲分類, 統計每洲的人口數. 最後記得需使用plt.show()才可以顯示圖表
import matplotlib.pyplot as plt import plotly_express as px df= px.data.gapminder().query('year == 2007') print(df.columns) # 印出欄位名稱 print(df)#印出df裏的資料 result=df.groupby('continent')['pop'].sum()#result為Series格式 result.plot(kind='bar', figsize=(12,6)) plt.show()
簡化版
matplotlib
ls=[10,23,14,56,80,30] x=np.linspace(1,6,6) plt.bar(x,ls) plt.show()
DataFrame
ls=[10,23,14,56,80,30] y=pd.Series(ls) y.index=['US','CN','TW','JP','KO','PH'] y.plot(kind='bar') plt.show()
線形圖
上述若將kind拿掉, 預設就是線形圖
點散圖 scatter
底下代碼, 列出國民所得與平均壽命的點散圖. c=’lifeExp’ 即指示顏色值依壽命而不同
import matplotlib.pyplot as plt import plotly_express as px df= px.data.gapminder().query('year == 2007') df.plot(kind='scatter',figsize=(12,6), x='gdpPercap', y='lifeExp', cmap=plt.get_cmap('rainbow'), c='lifeExp') plt.show()
圓餅圖
import matplotlib.pyplot as plt import plotly_express as px df= px.data.gapminder().query('year == 2007') result=df.groupby('continent')['pop'].sum() result.plot(kind='pie',figsize=(6,6)) plt.show()
配色
上述代碼, 加上colors即可套用不同顏色. 加上autopct則顯示百分比
import matplotlib.pyplot as plt import plotly_express as px from matplotlib import cm import numpy as np df= px.data.gapminder().query('year == 2007') result=df.groupby('continent')['pop'].sum() cs=cm.tab20c(np.arange(9,12)) result.plot(kind='pie',figsize=(6,6), autopct='%.1f%%', colors=cs) plt.show()