python的ggplot库实例

来源:互联网 发布:js不区分大小写 编辑:程序博客网 时间:2024/06/05 10:46

说实话,第一次听说还有python的ggplot库,真的是好激动,真心感谢那些开源的作者!以前用R的原因,除了因为语法简洁,各种好用的包,还有一个原因就是R的ggplot2库,画出的图漂亮,操作清晰明了。现在居然发现了还有python的ggplot库,于是果断安装了,测试了一下,虽然有些功能还不太完善,但普通作图已经足够了。
ps:没有使用qplot,因为我觉得使用qplot还不如使用ggplot,ggplot更灵活也比较简洁。


      • ggplot实例
        • 准备数据
          • 散点图
          • 折线图
          • 散点折线
          • 多变量
          • 标记
          • 分面
          • 条形图
          • 条形图分面
        • 总结


下面贴出一些实例吧:)

ggplot实例

准备数据

# -*- coding:utf-8 -*-# 准备数据import ggplot as gp # 不太喜欢import *import pandas as pdmeat = gp.meat

散点图
p=gp.ggplot(gp.aes(x='date',y='beef'),data=meat)+gp.geom_point(color='red')+gp.ggtitle(u'散点图')print p

这里写图片描述


折线图
p=gp.ggplot(gp.aes(x='date',y='beef'),data=meat)+gp.geom_line(color='blue')+gp.ggtitle(u'折线图')print p

这里写图片描述


散点+折线
p=gp.ggplot(gp.aes(x='date',y='beef'),data=meat)+gp.geom_point(color='red')+gp.geom_line(color='blue')+gp.ggtitle(u'折线图')print p

这里写图片描述


多变量
# 将想要表达的变量组成一列meat_lng = pd.melt(meat[['date','beef','pork','broilers']],id_vars='date')# meat_lng包含了date,value(变量的值组成的列),variable(变量的名称组成的列)p = gp.ggplot(gp.aes(x='date',y='value',colour='variable'),data=meat_lng)+\    gp.geom_point()+gp.geom_line()print p

这里写图片描述


标记
p = gp.ggplot(gp.aes(x='date',y='beef',size='pork',colour='veal'),data=meat)+gp.geom_point()print p

这里写图片描述


分面
meat_lng = pd.melt(meat[['date','beef','pork','broilers']],id_vars='date')p = gp.ggplot(gp.aes(x='date',y='value',colour='variable'),data=meat_lng)+gp.geom_point()+gp.facet_wrap('variable')print p

这里写图片描述


条形图
p = gp.ggplot(gp.aes(x='beef'),data=meat)+gp.geom_histogram()print p

这里写图片描述


条形图+分面
meat_lng = pd.melt(meat[['date','beef','pork']],id_vars='date')p = gp.ggplot(gp.aes(x='value'),data=meat_lng)+gp.facet_wrap('variable')+gp.geom_histogram()print p

这里写图片描述


总结

其实ggplot画图和plot(x,y)的逻辑是一样的(个人理解),对于分面,其实就是将想要表达的变量组成为一个变量,然后对这个变量按变量名分类。

2 0
原创粉丝点击