Plotly Express 是一个新的高级 Python 可视化库,它是 Plotly.py 的高级封装,为复杂图表提供简单的语法。最主要的是 Plotly 可以与 Pandas 数据类型 DataFrame 完美的结合,对于数据分析、可视化来说实在是太便捷了,而且是完全免费的,非常值得尝试

下面我们使用 Ployly 的几个内置数据集来进行相关图表绘制的演示

数据集

Plotly 内置的所有数据集都是 DataFrame 格式,也即是与 Pandas 深度契合的体现

不同国家历年GDP收入与人均寿命

包含字段:国家、洲、年份、平均寿命、人口数量、GDP、国家简称、国家编号

gap = px.data.gapminder()
gap2007 = gap.query("year==2007")
gap2007

Output

餐馆的订单流水

包含字段:总账单、小费、性别、是否抽烟、星期几、就餐时间、人数

tips = px.data.tips()
tips

Output

鸢尾花

包含字段:萼片长、萼片宽、花瓣长、花瓣宽、种类、种类编号

iris = px.data.iris()
iris

Output

风力数据

包含字段:方向、强度、数值

wind = px.data.wind()
wind

Output

2013年蒙特利尔市长选举投票结果

包括字段:区域、Coderre票数、Bergeron票数、Joly票数、总票数、胜者、结果(占比分类)

election = px.data.election()
election

Output

蒙特利尔一个区域中心附近的汽车共享服务的可用性

包括字段:纬度、经度、汽车小时数、高峰小时

carshare = px.data.carshare()
carshare

Output

内置调色板

Plotly 还拥有众多色彩高级的调色板,使得我们在绘制图表的时候不再为颜色搭配而烦恼

卡通片的色彩和序列

px.colors.carto.swatches()

Output

CMOcean项目的色阶

px.colors.cmocean.swatches()

Output

还有其他很多调色板供选择,就不一一展示了,下面只给出代码,具体颜色样式可以自行运行代码查看

ColorBrewer2项目的色阶

px.colors.colorbrewer

周期性色标,适用于具有自然周期结构的连续数据

px.colors.cyclical

分散色标,适用于具有自然终点的连续数据

px.colors.diverging

定性色标,适用于没有自然顺序的数据

px.colors.qualitative

顺序色标,适用于大多数连续数据

px.colors.sequential

Plotly Express 基本绘图

散点图

Plotly 绘制散点图非常容易,一行代码就可以完成

px.scatter(gap2007, x="gdpPercap", y="lifeExp")

Output

还可以通过参数 color 来区分不同的数据类别

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent")

Output

这里每个点都代表一个国家,不同颜色则代表不同的大洲

可以使用参数 size 来体现数据的大小情况

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=60)

Output

还可以通过参数 hover_name 来指定当鼠标悬浮的时候,展示的信息

还可以根据数据集中不同的数据类型进行图表的拆分

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=60, hover_name="country", facet_col="continent", log_x=True)

Output

我们当然还可以查看不同年份的数据,生成自动切换的动态图表

px.scatter(gap, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=60, hover_name="country", animation_frame="year", animation_group="country", log_x=True,range_x=[100, 100000], range_y=[25, 90], labels=dict(pop="Population", gdpPercap="GDP per Capa", lifeExp="Life Expectancy"))

Output

地理信息图

Plotly 绘制动态的地理信息图表也是非常方便,通过这种地图的形式,我们也可以清楚的看到数据集中缺少前苏联的相关数据

px.choropleth(gap, locations="iso_alpha", color="lifeExp", hover_name="country", animation_frame="year", color_continuous_scale=px.colors.sequential.Plasma, projection="natural earth")

Output

矩阵散点图

px.scatter_matrix(iris, dimensions=['sepal_width', 'sepal_length', 'petal_width', 'petal_length'], color='species', symbol='species')

Output

平行坐标图

px.parallel_coordinates(tips, color='size', color_continuous_scale=px.colors.sequential.Inferno)

Output

三元散点图

px.scatter_ternary(election, a="Joly", b="Coderre", c="Bergeron", color="winner", size="total", hover_name="district",size_max=15, color_discrete_map = {"Joly": "blue", "Bergeron": "green", "Coderre":"red"} )

Output

极坐标线条图

px.line_polar(wind, r="frequency", theta="direction", color="strength", line_close=True,color_discrete_sequence=px.colors.sequential.Plotly3[-2::-1])

Output

小提琴图

px.violin(tips, y="tip", x="sex", color="smoker", facet_col="day", facet_row="time",box=True, points="all", category_orders={"day": ["Thur", "Fri", "Sat", "Sun"], "time": ["Lunch", "Dinner"]},hover_data=tips.columns)

Output

极坐标条形图

px.bar_polar(wind, r="frequency", theta="direction", color="strength",color_discrete_sequence= px.colors.sequential.Plotly3[-2::-1])

Output

并行类别图

px.parallel_categories(tips, color="size", color_continuous_scale=px.colors.sequential.Inferno)

Output

直方图

px.histogram(tips, x="total_bill", color="smoker",facet_row="day", facet_col="time")

Output

三维散点图

px.scatter_3d(election, x="Joly", y="Coderre", z="Bergeron", color="winner", size="total", hover_name="district",symbol="result", color_discrete_map = {"Joly": "blue", "Bergeron": "green", "Coderre":"red"})

Output

密度等值线图

px.density_contour(iris, x="sepal_width", y="sepal_length", color="species")

Output

箱形图

px.box(tips, x="sex", y="tip", color="smoker", notched=True)

Output

地理坐标线条图

px.line_geo(gap.query("year==2007"), locations="iso_alpha", color="continent", projection="orthographic")

Output

条线图

px.line(gap, x="year", y="lifeExp", color="continent", line_group="country", hover_name="country",line_shape="spline", render_mode="svg")

Output

面积图

px.area(gap, x="year", y="pop", color="continent", line_group="country")

Output

热力图

px.density_heatmap(iris, x="sepal_width", y="sepal_length", marginal_x="rug", marginal_y="histogram")

Output

条形图

px.bar(tips, x="sex", y="total_bill", color="smoker", barmode="group")

Output

总体来说,Plotly/Plotly Express 还是非常强大绘图工具,值得我们细细研究~

好了今天的分享就到这里,后续还会分享更多 Plotly 相关的知识。

END -

对比Excel系列图书累积销量达15w册,让你轻松掌握数据分析技能,可以在全网搜索书名进行了解:

4000字,25张精美交互图表,开启Plotly Express之旅!相关推荐

  1. 【Python】4000字归纳总结 Pandas+Sklearn 带你做数据预处理

    就在前天的一篇原创文章中, 7000字 23张图,Pandas一键生成炫酷的动态交互式图表 有粉丝问道,是不是写一篇关于数据预处理的文章,小编立马就答应了他的请求,那么今天我们就来讲讲数据预处理过程当 ...

  2. 2w 字 + 40 张图带你参透并发编程

    并发历史 在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行.任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况. > ...

  3. excel切片器_利用切片器制作动态交互图表

    本文共918个字,预计用时3分钟 小伙伴们,今天给大家分享一下利用excel中的切片器制作动态交互图表,先看一下效果,是不是很炫酷,这就是交互图表,我们需要看哪个人的成绩直接去单击他的名字就行,其实这 ...

  4. java生成word报告echart_Java这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!...

    作者 | 旧时晚风拂晓城 编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066) 一.Pyecharts简介和安装 1. ...

  5. 《朗读者》的读后感优秀范文4000字

    <朗读者>的读后感优秀范文4000字: 家,简单一个字,能引起无数人的情感共鸣.因为家是每一个人最初的记忆,也是我们最终的归宿.说小了,它是两个人的结合:说大了,它是乡土中国的基座. 乔治 ...

  6. kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表。

    kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表. 连用户表都没有 ,导致连 默认的 admin和guest都无法登陆自己的资源库!!!! 问题是 SQL语句里边使 ...

  7. 第10章第14节:使用iSlide的图表库往幻灯片中插入精美的图表 [PowerPoint精美幻灯片实战教程]

    您将在本节通过图表库工具,往幻灯片中插入精美的图表,首先点击此处的图表库工具,打开图表库窗口. 然后在所需的图表的缩略图上点击,即可将图表插入到幻灯片. 点击右上角的关闭图标,关闭图表库窗口. 使用键 ...

  8. 神雕侠侣服务器维修时间,《神雕侠侣》2020年6月25日更新维护新服开启公告

    亲爱的玩家: 为了给您提供更好的游戏体验,我们将于2020年6月25日上午8:00-11:00对所有服务器进行停机更新维护,预计维护时间3小时. 若提前完成维护内容,我们将提前开服.对于停机期间给您带 ...

  9. 营业执照psd模板2020_荣誉证书聘书奖状模板,CFR矢量素材PSD源文件,700张精美套用...

    Hello大家好,我是帮帮.今天跟大家分享一组认证荣誉证书聘书奖状模板,CFR矢量素材,PSD源文件,700张精美套用. 为了让大家能更稳定的下载模板,我们又开通了全新下载方式(见文章末尾),以便大家 ...

最新文章

  1. C++搞懂深拷贝初始化=与赋值(运算符重载)=的区别
  2. mysql ceill_MYSQL常用函数
  3. Malformed server response 解决方案
  4. windows上安装gcc/g++环境(MinGW,msys64等)
  5. 三:Bootstrap-js插件
  6. Saas与传统软件对比
  7. JavaScript内存管理——优化内存占用
  8. 阿里P8架构师谈:大数据架构设计(文章合集)
  9. 四种方式话Equal
  10. 成功编译无错MAC OpenJDK8:Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘
  11. error: possibly undefined macro: LT_SYS_SYMBOL_USCORE please use m4_pattern_allow
  12. [异常处理]class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)...
  13. dp 20190617
  14. SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据...
  15. 关于数据中心的设计方案,数据中心网络规划设计
  16. 搭建VUE应用的时候,fsevents报错问题
  17. android手机微信收藏功能实现,微信小程序实现收藏功能
  18. cs231n---RNN、图像字幕、注意力机制Attention、梯度消失、爆炸、LSTM
  19. 夜神模拟器换完本机的ip连不上忘 fiddler也抓不到模拟器的包
  20. js 通过 exceljs 和 canvas 实现导出带水印的 excel 表

热门文章

  1. matlab两个图共用一个x轴_SCI论文写作MATLAB出图(2)
  2. python怎么对齐文件_说说在 python 中,如何对齐文本
  3. linux查看redis索引,linux的redis操作命令
  4. Java核心技术笔记 异常、断言和日志
  5. keepalived+haproxy(双主)+nginx(静态)+lamp(动态)部署phpBB
  6. [Visual Studio] 未能完成操作 不支持此接口
  7. java学习之路--面试之多线程基础
  8. Rsync的使用方法
  9. Ubuntu下载gitea
  10. How to show out three rows from the same databand On A4?