一学就会,20000字深度讲解 Python 数据可视化神器 Plotly
作为 Python 的新一代数据可视化绘图库,和matplotlib等传统绘图库相比,plotly具有以下优点:
简洁易用: 作为一只小透明,plotly的图表对象就像一个嵌套dict, 可以通过直接修改对象属性而改变图表形态。学习难度远远小于matplotlib.
动态交互: plotly绘制的图都是可以交互的图表,可以点击查看数据,拖拽放大,隐藏某些数据列等等,也可以导出成静态图,灵活性大大增加。
前端能力: 基于plotly和React开发的Dash号称是 The front end for ML and data science models,可以基于它用Python轻松构建机器学习应用App.
通常,plotly有两种常用的绘图接口:
第一种是面向对象的绘图接口:plotly.graph_objs(简称go),也是最基础的绘图接口,
第二种是面向函数式的快速绘图接口: plotly.express(简称px),是在go基础上封装的一种更方便的绘图接口。
本文我们按照如下3 part来深入浅出地讲解plotly的使用方法。喜欢记得收藏、关注、点赞
part1: 深入原理, 本文第一节和第二节,分别介绍 go和px 的设计思想和绘图原理。
part2: 浅出范例, 本文第三节和第四节,对比性地展示 go和px 的五种绘图范例(柱形图、折线图、散点图、热力图、直方图)
part3: 深入实践, 本文第五节,展示一些plotly和机器学习相结合的综合应用范例。
注:完整代码、资料、技术交流,文末提供
一,plotly.graph_objs绘图原理
plotly的Figure是由data(数据,数据包括图表类型(Line,Scatter,Area,Pie)和具体数据取值信息)和 layout(布局,包括xaxis,yaxis,title,legend等) 组成的对象。
Figure对象就像一个透明的嵌套的Python dict 一样,可以通过修改元素值而改变其形态。
import numpy as np
import plotly.graph_objs as goepoches = np.arange(20)
accs = 1-0.9/(epoches+1)data = go.Scatter(x = epoches, y=accs, mode = "lines+markers",name = "acc",marker = dict(size=8,color="blue"),line= dict(width=2,color="blue",dash="dash"))layout = {"title":"accuracy via epoch","xaxis.title":"epoch","yaxis.title":"accuracy","font.size":15}fig = go.Figure(data = data,layout=layout)
fig.show()
如果要把图表的颜色改成红色实线怎么办呢?很简单,我们先print(fig)一下,观察它的结构,找到线的颜色和线型的属性获取方法,然后直接对相应属性赋值就可以了。
print(fig.data) #如果想获取fig更详细结构信息,可以直接 fig.to_dict()
(Scatter({'line': {'color': 'blue', 'dash': 'dash', 'width': 2},
'marker': {'color': 'blue', 'size': 8},
'mode': 'lines+markers',
'name': 'acc',
'x': array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19]),
'y': array([0.1 , 0.55 , 0.7 , 0.775 , 0.82 , 0.85 ,
0.87142857, 0.8875 , 0.9 , 0.91 , 0.91818182, 0.925 ,
0.93076923, 0.93571429, 0.94 , 0.94375 , 0.94705882, 0.95 ,
0.95263158, 0.955 ])
}),)
fig.data[0].line.color = "red"
fig.data[0].line.dash = "solid"
fig
怎么样,plotly是不是一个当之无愧的小透明。
一学就会,20000字深度讲解 Python 数据可视化神器 Plotly相关推荐
- 20000字深度讲解 Python 数据可视化神器 Plotly
本文我们按照如下3 part来深入浅出地讲解plotly的使用方法.喜欢记得收藏.关注.点赞 part1: 深入原理, 本文第一节和第二节,分别介绍 go和px 的设计思想和绘图原理. part2: ...
- 图文讲解Python数据可视化神器 !
我们都知道python上的一款可视化工具 matplotlib , 但是它是静态的.后来发现了 pyecharts 模块,简直好用到不行,可视化类型非常多,它是基于 Echarts 开发的. Echa ...
- Python数据可视化工具怎么选?深度评测5款实用工具
来源:早起Python 本文约3100字,建议阅读9分钟 本文通过真实绘图,为你深度测评Python五大数据可视化库. [ 导读 ]相信很多读者学习Python就是希望做出各种酷炫的可视化图表,当然你 ...
- 可视化工具不知道怎么选?深度评测5大Python数据可视化工具
相信很多读者学习Python就是希望作出各种酷炫的可视化图表,当然你一定会听说过Matplotlib.Pyecharts.Seaborn.Plotly.Bokeh这五大工具,本文就将通过真实绘图来深度 ...
- python可视化图表工具_酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具...
原标题:酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具 不少Python用户的一大诉求是做出各种酷炫的可视化图表,而这就需要了解清楚工具特色,才好在制作不同类型图表顺利找到适合自己 ...
- python各个绘图的作用,深度讲解Python四大常用绘图库的“绘图原理”
转自:数据分析与统计学之美 为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做什么,也不知道接下来该 ...
- 肝!深度讲解Python四大常用绘图库的“绘图原理”
为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做什么,也不知道接下来该怎么做,四个字一学就忘. 其 ...
- 深度讲解 Python 四大常用绘图库的“绘图原理”
作者 | 黄伟呢 整理 | 杨碧玉 出品 | 数据分析与统计学之美(ID:gh_21c25c7e71d0) 头图 | CSDN 下载自视觉中国 为什么要写这篇文章? 最近有不少粉丝来问我,Pytho ...
- 女生不能学理科?python+数据可视化分析15万考生的成绩,刷新了我的认知
昨天是什么日子?推迟了一个月的高考终于来了,作为一个已经考完N年的人,说句实话,我比你们还激动! 因为我知道,它来的太不容易了. 说到高考,就不得不提那个别人口中的江苏卷,作文题的每个字我都认识,但是 ...
最新文章
- 快速部署Telegraf Influxdb
- 调取方法_转需!不去阿里巴巴调取支付宝交易证据方法
- 代码自动化打包系统【原创】
- java 判断对象为控制_Java流程控制
- php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
- SAP License:”事后借记”与第三方外币支付处理
- 【go】metrics基本使用
- python下载安装教程-Python和Anoconda和Pycharm安装教程
- python安装requests库提示更新_解决已经安装requests,却依然提示No module named requests问题...
- (学习笔记)图像处理——同态滤波
- Java学习——Servlet是什么
- 2019国人工资报告:月薪过万是个槛?大部分网友表示月薪不足5K!
- 字节跳动高工面试:java高级程序员面试宝典蔡羽豆瓣
- 安装驱动显卡重启计算机,Win7电脑安装显卡驱动后一直重启的解决方法
- 如何用html5创作一个游戏
- GeneXus学习记录——Transaction
- Element Table 反选
- ZZ:INF文件中的注册表位置,譬如HKCR、HKLM、HKR等
- Qomo OpenProject Field Test 3发布!
- patapon2 烧饼_PSP《啪嗒砰2》17种兵种详细说明
热门文章
- ASP.NET Web窗体(.NETFromWork应用程序) ADO.NET 实体数据模型 关于多表联查显示的实现
- Django基础学习
- springboot+mysql+基于web的在线问答社区系统设计与实现 毕业设计-附源码061628
- 编程,统计用户输入的一串英文文本中各单词的出现频率。
- 3 将tar文件压缩为tar.gz
- 用python turtle画人_Python中如何用turtle库画出小猪佩奇社会人
- Boolean数据类型
- 卷积神经网络 - 车辆识别
- 简单垂直搜索引擎入门(java+Lucene)
- 初学编译原理——构造一个DFA,它接受字母表∑={0,1}上能被能5整除的二进制数