DataFrame

      在〈DataFrame〉中尚無留言

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()

df_1

簡化版

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()

df_2

圓餅圖

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()

df_3

配色

上述代碼, 加上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()

df_4

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *