plt中的中文亂碼解決:
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
條形圖:
注意中文亂碼
from plotnine import *
import pandas as pd
median_age_dict={
'國家': ['New Zealand','Spain','Ireland','Israel','Denmark','Norway','Netherlands','Australia','Italy','Sweden'],
'年齡': [39.0, 37.0, 35.0, 34.0, 34.0, 34.0, 34.0, 34.0, 34.0, 34.0]
}
median_age=pd.DataFrame(median_age_dict)
(
# fill以顏色區分
ggplot(median_age,aes(x='國家',y='年齡',fill='國家'))
# 條形圖,需要stat指明統計量
+geom_bar(stat='identity',width=0.5)
# 文本標簽,nudge_y表示偏離量
+geom_text(aes(x='國家',y='年齡',label='年齡'),nudge_y=2)
+coord_flip()# 翻轉x,y
# 排序條形圖
+xlim(median_age['國家'])
# +xlim(median_age['Country'][::-1])逆序
# 隱藏圖例,設置中文字體
+theme(legend_position = 'none',text=element_text(family='KaiTi'))
# 加上標題
+ggtitle('Top 10 Median age of respondents from different countries')
)

折線圖:
這里我比較喜歡日期的間距設置
from plotnine.data import economics save_rate = economics[economics['date']>'2013-01-01'] save_rate=save_rate.reset_index(drop=True) ( ggplot(save_rate,aes(x='date',y='psavert')) + geom_line(color='blue') +geom_point(color='red') + ylim(0,6)#y軸的范圍 # 改變x坐標刻度間距 + scale_x_date(breaks='5 months',date_labels='%Y-%m') )

