当前位置: 首页 > news >正文

github python 画图_传说中的画图神器Plotnine,Python中的ggplot2

​前言

Python的绘图库(如matplotlib和seaborn)也允许用户创建优雅的图形,但是与R中的ggplot2的简单、可读和层次方法相比,它缺乏实现图形语法的标准化语法,这使得用Python实现它更加困难。。

1e4930251d914fd96ed637abe734a3d3.png

Plotnine

R的忠实用户知道,ggplot2可以使您在处理探索性数据分析和数据可视化时更加简单。它使得创建优雅而强大的情节变得如此容易,从而有助于解读数据中的潜在关系。

那么Python用户是否也有类似的画图工具呢?

这个问题的答案在Plotnine中。

Plotnine的风格与R中的ggplot2有99%的相似之处,主要区别在于括号的使用,您将在下面的几个简短示例中看到。使用plotnine的一个最好的收获是,输出基本上与在R中得到的相同。在视觉上没有显著的区别。

接下来我们简要介绍如何使用Plotnine。

安装:

pip install pandas plotnine

让我们用必要的库来设置工作环境,并将csv文件加载到名为survs_df的数据框架中:

ggplot(survs_df, aes(x='weight', y='hindfoot_length',    size = 'year')) + geom_point()

要使用plotnine中的ggplot类生成一个图形,我们必须提供三件事:

  • 包含我们的数据的数据框。
  • 如何将数据框架的列转换为图形元素的位置、颜色、大小和形状(“美学”)。
  • 要显示的实际图形元素(“几何对象”)
ggplot(survs_df, aes(x='weight', y='hindfoot_length')) + geom_point()
4cabeafb188d4395903fe76a74d6987c.png

图形创建

对于plotnine中的API,我们可以使用许多选项来创建图形。

(ggplot(mtcars, aes(‘wt’, ‘mpg’, color=’factor(cyl)’))+ geom_point()+ labs(title=’Miles per gallon vs Weight’, x=’Weight’, y=’Miles per gallon’)+ guides(color=guide_legend(title=’Number of Cylinders’)) )
1366dd15ebca51517410a45d5da48357.png

R中的ggplot的主要卖点之一是FACET的能力。对于用一行代码绘制数据子集,我们也有许多选项:

(ggplot(mtcars, aes(‘wt’, ‘mpg’, color=’factor(cyl)’))+ geom_point()+ labs(title=’Miles per gallon vs Weight’,x=’Weight’, y=’Miles per gallon’)+ guides(color=guide_legend(title=’Cylinders’))+ facet_wrap(‘~gear’))
7f6a3f0eccca1d3463c3b72784fd858f.png

只需在前面代码的末尾添加facet_wrap(' ~gear '),我们现在就有了一个分面情节。这实际上比使用Matplotlib和Seaborn要简单得多。

​参考文章:

https://www.kdnuggets.com/2019/12/python-alternative-ggplot2.html

https://monashdatafluency.github.io/python-workshop-base/modules/plotting_with_ggplot/

相关文章:

  • 炉石传说投弹机器人怎么获得_炉石传说:9职业胜率最高卡组推荐 其中这套连99%的玩家都没用过...
  • ios 平滑移动view_在 iOS 中使用 OpenGL ES 实现绘画板
  • 怎么把照片上传到画板_摄影技巧:全黑背景的照片怎么出?怎么拍出高大上的照片...
  • 八皇后时间复杂度 回溯_LeetCode--回溯法心得
  • 运维平台_舜通云-智能光伏运维平台
  • 查询子串_Entity Framework Core Like 查询揭秘
  • 开关电源中的磁性元件书籍_超详细!开关电源电路方案选择指南!
  • 单位和流明_流明 | 你值得这世间所有美好
  • 什么是多态python_Python的多态是什么
  • python谁发明的1003python谁发明的_PAT乙级1003-Python
  • python用户输入10个_2019-07-18 python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...
  • python能为我们做什么读后感作文_《与运气竞争》读书笔记 坚韧不拔|静水流深|读书|写作|博雅|数据分析|Python|商业|独立·独特·自立门户 kebook...
  • 三因素方差分析_菜鸟也爱数据分析之SPSS篇——多因素方差分析
  • aimesh r6400 开_适合家用的路由器有哪些?
  • 调用赋码远程服务异常_用REST方式访问wcf服务,post时老报“远程服务器返回异常: (400) 异常的请求”...
  • [数据结构]链表的实现在PHP中
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 03Go 类型总结
  • 5、React组件事件详解
  • Apache Spark Streaming 使用实例
  • eclipse(luna)创建web工程
  • export和import的用法总结
  • Java深入 - 深入理解Java集合
  • learning koa2.x
  • MySQL QA
  • MySQL-事务管理(基础)
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Yii源码解读-服务定位器(Service Locator)
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 机器学习学习笔记一
  • 技术:超级实用的电脑小技巧
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 蓝海存储开关机注意事项总结
  • 前端自动化解决方案
  • 如何设计一个比特币钱包服务
  • 我看到的前端
  • 回归生活:清理微信公众号
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 调用php,php 调用.net com组件 --
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net2005怎么读string形的xml,不是xml文件。
  • .Net接口调试与案例
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET应用架构设计:原则、模式与实践 目录预览
  • @JsonSerialize注解的使用
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [AIGC] MySQL存储引擎详解