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数组和列表的区别列表和数组的定义列表用于顺序存储结构。它可以方便、高效的的添加删除元素,并且列表中的元素可以是多种类型。数组是一
- 本文实例为大家分享了python实现网上购物系统的具体代码,供大家参考,具体内容如下1.购物商城的需求分析:1、输出欢迎界面还有登录注册菜单
- 本文实例为大家分享了python计算日期之间的放假日期,供大家参考,具体内容如下代码如下:#encoding=utf-8 print
- 用ASP实现搜索引擎的功能是一件很方便的事,可是,如何实现类似3721的智能搜索呢?比如,当在搜索条件框内输入“中国人民”时,自动从中提取“
- 对于经常需要表格头部不东,而列表可以滚动,多用于数据比较多的情况,方便查看<!DOCTYPE HTML PUBLIC "-/
- 本文实例为大家分享了python同步两个文件夹下的内容,供大家参考,具体内容如下import osimport shutilimport t
- #coding=utf-8#对话框import sysfrom PyQt4 import QtGui, QtCoreclass Window
- 使用Python的内置方法dir,可以范围一个模块中定义的名字的列表。官方解释是:Docstring:dir([object]) ->
- 1、准备html文件首先我们需要准备一个鼠标滑动的html文件,用来演示鼠标滑动的效果,注意需要将我们的html文件放在自己的服务器上,这样
- 本文详述了Python的import机制,对于理解Python的运行机制很有帮助!1.标准import:Python中所有加载到内存的模块都
- os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改
- 这个例子可作为一个模式,在你需要的时候套用。<!DOCTYPE HTML PUBLIC &q
- tensorflow下设置使用某一块GPU(从0开始编号):import osos.environ["CUDA_DEVICE_OR
- 我一直是使用mysql这个数据库软件,它工作比较稳定,效率也很高。在遇到严重性能问题时,一般都有这么几种可能:1、索引没有建好;2、sql写
- 一:crypto库安装pycrypto,pycryptodome是crypto第三方库,pycrypto已经停止更新三年了,所以不建议安装这
- 用途:图片经常使用onload来改变宽度,但这样会出现图片的闪烁,这个简单的类就是用来解决这个问题的。函数loadImage,用来加载图片,
- 前几天同学要我帮他做个国际聊天室,要求能够将聊天的内容自动翻译成多国语言.本来想用worldlink的翻译服务,但是用ajax很难获得结果,
- 1.什么是FBV和CBVFBV是指视图函数以普通函数的形式;CBV是指视图函数以类的方式。2.普通FBV形式def index(reques
- <%DIM LinkArray(4,2)' 定义链接数组LinkArray(0,1)=&quo
- PDOStatement::errorCodePDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLST