ggplot在python中的使用(plotnine)


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

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM