Python+Plotly绘制精美的数据分析图
作者:Ckend 发布时间:2022-01-09 13:02:05
Plotly 是目前已知的Python最强绘图库,它比上次我们讲的Echarts还强大许多许多,它的绘制通过生成一个web页面完成,并且支持调整图像大小,动态调节参数,方便许多python 网页应用的开发。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。
当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端装依赖模块,多舒服的一件事啊:
在终端输入以下命令安装我们所需要的依赖模块:
pip install plotly
看到 Successfully installed xxx 则说明安装成功。
2.使用
你只需要知道某些图的生成函数及其传入参数,就可以生成很漂亮的统计图。比如生成文章开头的那个官方平行类别图,你只要需要知道它的生成函数是 px.parallel_categories。支持的参数列表如下:
data_frame:数据,需要以DataFrame格式。
color: 可指定每一列的特定颜色。
color_continuous_scale: 构建连续的颜色
详细参数可阅读官方文档
在这里,我们使用官方生成好的数据作为展示的例子,编写以下代码即可:
# 文件命名为:test.py
import plotly.express as px
tips = px.data.tips()
fig = px.parallel_categories(tips, color="size", color_continuous_scale=px.colors.sequential.Inferno)
fig.show()
效果如下:
在cmd/Terminal或者VSCODE的终端里,运行这份代码:
python test.py
你会看到浏览器自动生成了一个页面,页面上就是这幅图,而且是可以进行交互的图。
除此之外还有这样的图:
import plotly.express as px
gapminder = px.data.gapminder()
fig = px.scatter(gapminder.query("year==2007"), x="gdpPercap", y="lifeExp", size="pop", color="continent",
hover_name="country", log_x=True, size_max=60)
fig.show()
代码如上,其实相当简单,你只需要符合它的scatter函数的数据格式就可以生成了,真的是坐着收图啊。
还有以下这些例子,这些例子都是可以在页面上进行交互的(放大缩小等),相当方便!
3.保存
其实在执行完程序后生成的页面里,右上角有个小摄像头,点击那个摄像头可以直接生成页面:
但是你可能会希望直接在程序中将图片保存下载,方便批量生成图片,这个时候我们需要添加类似这样的一个离线plot语句
import plotly.offline as offline
offline.plot(figure_or_data = fig, image ='png', image_filename='plot_image', output_type='file', image_width=800, image_height=600, validate=False)
在得到了图像的Fig变量后,你只需要继续编写上述语句就可以保存下来,比如我们的第一个例子,将会是这样保存的。
# 文件命名为:test.py
import plotly.express as px
import plotly.offline as offline
tips = px.data.tips()
fig = px.parallel_categories(tips, color="size", color_continuous_scale=px.colors.sequential.Inferno)
fig.show()
offline.plot(figure_or_data = fig, image = 'png', image_filename='plot_image',
output_type='file', image_width=800, image_height=600, validate=False)
4.其他功能
1.共享:如果你希望能和其他人共享图片,而自己又不会做web开发,没关系,plotly也提供了解决方案,这个时候我们需要安装一个新的包叫chart_studio,然后使用官方给定的API进行在线绘制,就能保存到你的plotly个人网页中了!详细可见官方教程
2.添加背景图:你还可以给你的图片添加背景图!操作起来非常简单。
3.添加你的LOGO:添加你个人独特的LOGO也是支持的。
在https://plot.ly/python/images/你可以找到2和3的相应教程!
来源:https://mp.weixin.qq.com/s/1LqW8Llc3OT8_FUA9r2aBw


猜你喜欢
- 手绘图片生成器可以将导入的彩色图片通过python分析光源、灰度等操作生成手绘图片。UI界面的整体部分代码块,UI界面的设计比较简单。效果在
- 添加表字段alter table table1 add transactor varchar(10) not Null;alter tabl
- 一、Python urllib 模块是什么urllib 模块是 Python 标准库,其价值在于抓取网络上的 URL 资源,入门爬
- 用ACCESS数据库开发的网站,当随着网站数据量的不断增长.数据库的容量也是不断加大.这让ASP程序速度直线下降.如果才能让ACCESS数据
- 1.配置需要python3.7,Chrome或者Edeg浏览器,Chrome驱动或者Edge驱动#需要配置selenium库,baidu-a
- 一、问题描述给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;
- 这篇文章主要介绍了python垃圾回收机制(GC)原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文
- 本文介绍MySQL与Redis缓存的同步的两种方案方案1:通过MySQL自动同步刷新Redis,MySQL触发器+UDF函数实现方案2:解析
- python数据化运营数据化运营的核心是运营,所有数据工作都是围绕运营工作链条展开的,逐步强化数据对于运营工作的驱动作用。数据化运营的价值体
- 为了自定义一个模板标签,你需要告诉Django当遇到你的标签时怎样进行这个过程。当Django编译一个模板时,它将原始模板分成一个个 节点
- 这两个方法都可以用来在固定的时间段后去执行一段javascirpt代码,不过两者各有各的应用场景。实际上,setTimeout和setInt
- 如果我们在标识列中插入值,例如:insert member(id,username) values(10,'admin')
- 一旦你已经为MySQL实例管理器设置了一个密码文件并且IM正在运行,你可以连接它。你可以使用mysql客户端工具通过标准MySQL API来
- 本文实例讲述了微信小程序实现获取自己所处位置的经纬度坐标功能。分享给大家供大家参考,具体如下:1、效果展示2、关键代码index.wxml布
- 问题描述:1、(先添加时间戳,再复制移动,两个文件加下面的文件名都被修改)将 /home/kangle/webdata/JPEGImages
- Pytorch中retain_graph的坑在查看SRGAN源码时有如下损失函数,其中设置了retain_graph=True,其作用就是在
- 基本说明pyc 文件是 Python 编译过的字节码文件。当你运行一个 Python 程序时,Python 解释器首先将源代码(通常是 .p
- Pandas是一个强大的数据处理库,它提供了高性能、易于使用的数据结构和数据分析工具。本文将介绍Pandas常用的数据结构和常用的数据分析技
- 如何在寸土寸金的首页上使页面的价值最大化,是每个网站设计者最关心的话题。用户关注的页面长度、宽度都是有限的。宽度自不必说,一般网站都会根据自