前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据可视化 | Pandas vs Plotnine

数据可视化 | Pandas vs Plotnine

作者头像
数据森麟
发布2020-10-09 09:49:25
8190
发布2020-10-09 09:49:25
举报
文章被收录于专栏:数据森麟
作者:大邓

来源:大邓和他的Python

使用Pandas和plotnine可视化数据

目标:

  • 学会使用pandas内置的作图功能
  • 使用pands作散点图和直方图?
  • 使用plotnine定制一个画布
  • 从dataframe数据中构建复杂的定制化图表
  • 导出作图结果

之前分享过很多pandas可视化、plotnine可视化,

使用pandas做数据可视化

plotnine: Python版的ggplot2作图库

但是两者对比的还没有,今天我们尝试分别用pandas和plotnine作直方图、散点图。

导入数据

代码语言:javascript
复制
%matplotlib inline
import pandas as pd
import warnings
warnings.filterwarnings('ignore')

ecoli = pd.read_csv('ecoli.csv')
ecoli.head()

直方图

pandas直方图

代码语言:javascript
复制
ecoli['genome_size'].plot.hist()

代码语言:javascript
复制
#带标题
ecoli['genome_size'].plot.hist(title='Histogram with pandas')

plotnine直方图

代码语言:javascript
复制
from plotnine import ggplot, aes, geom_histogram

(ggplot(data=ecoli, #dataframe数据
        mapping=aes(x='genome_size'))  #需要统计的x轴
 + geom_histogram(bins=15) #直方图分为15个区间
)

代码语言:javascript
复制
from plotnine import ggplot, aes, geom_histogram, labs

(ggplot(data=ecoli,
        mapping=aes(x='genome_size'))
 + geom_histogram(bins=15)  
 + labs(title='Histogram with Plotnine') 

)

散点图

pandas散点图

代码语言:javascript
复制
ecoli.plot.scatter(x='generation',y='genome_size')

代码语言:javascript
复制
#带标题、点的颜色、点的形状marker
ecoli.plot.scatter(x='generation',y='genome_size', 
                   title='Scater plot with pandas', c='green', marker='+')

plotnine散点图

代码语言:javascript
复制
from plotnine import ggplot, aes, geom_point, labs

(ggplot(data=ecoli,
        mapping=aes(x = 'sample', y= 'genome_size'))
 + geom_point(alpha=0.5, color='blue') #散点图
 + labs(title='scatter plot with plotnine')
)

代码语言:javascript
复制
from plotnine import ggplot, aes, geom_point, labs, theme, element_text

(ggplot(data=ecoli,
        mapping=aes(x = 'sample', y= 'genome_size'))
 + geom_point(alpha=0.5, color='blue') #透明度alpha
 + labs(title='scatter plot with plotnine')
 + theme(axis_text_x=element_text(angle=45, hjust=1)) #设置x轴的文本角度和水平居中程度
)

代码语言:javascript
复制
from plotnine import ggplot, aes, geom_point, labs, theme, element_text

#除x、y轴,增加一个颜色维度
(ggplot(data=ecoli,
           mapping=aes(x = 'sample', y= 'genome_size', color='generation'))
 + geom_point(alpha=0.5)
 + labs(title='scatter plot with plotnine')
 + theme(axis_text_x = element_text(angle=45, hjust=1))
)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据森麟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用Pandas和plotnine可视化数据
  • 导入数据
  • 直方图
    • pandas直方图
      • plotnine直方图
      • 散点图
        • pandas散点图
          • plotnine散点图
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档