查看原文
其他

有“亿点点”钟情Plotly.express-(入门篇)

pythonic生物人 pythonic生物人 2023-02-13

本文分享Python可视化生态中小编喜爱度排名第三的工具plotly.express,仅次于Matplotlib、Seaborn。

该篇为入门篇,精进看下一篇

本文目录


1、plotly.express靓图速赏

Dash渲染(plotly.express一大亮点)
结果保存为一个网页,不会代码也可轻松操控数据和可视化,如下。极坐标图地图折线图树状图立体图交互箱图矩阵图漏斗图平行坐标图边缘图更多图~


2、plotly.express简史

  • 本文主角是plotly.express,介绍之前先说说plotly,plotly是一个发布于2013年、开源的可视化库,目前支持Python、R、JavaScript语言的API;
  • 支持Python、Julia 、R语言的Dash;
  • 支持统计、金融、地理及三维图形领域40类图形的可视化;
  • 支持图形在Jupyter notebooks、HTML及Dash中渲染。
  • 但是,plotly参数有“亿点点多”,上手复杂,为了解决这个问题,plotly.express于2019年发布,打出口号“To create interactive graphs in a single line of code”。
  • plotly.express,是plotly面向python的API plotly.py的高级封装版,追求仅仅一行代码实现plotly的图形,类似Seaborn与Matplotlib的关系。

3、plotly.express支持40+类图表

import plotly.express as px #plotly.express简写为px

print([i for i in dir(px) if not i.startswith('_')])  #借助dir函数输出

共计40+类图形,详细列出:

['Constant', 'IdentityMap', 'NO_COLOR', 'Range', 'absolute_import', 'area', 'bar', 'bar_polar', 'box', 'choropleth', 'choropleth_mapbox', 'colors', 'data', 'defaults', 'density_contour', 'density_heatmap', 'density_mapbox', 'funnel', 'funnel_area', 'get_trendline_results', 'histogram', 'imshow', 'imshow_utils', 'line', 'line_3d', 'line_geo', 'line_mapbox', 'line_polar', 'line_ternary', 'optional_imports', 'parallel_categories', 'parallel_coordinates', 'pd', 'pie', 'scatter', 'scatter_3d', 'scatter_geo', 'scatter_mapbox', 'scatter_matrix', 'scatter_polar', 'scatter_ternary', 'set_mapbox_access_token', 'strip', 'sunburst', 'timeline', 'treemap', 'violin']


4、三步掌握plotly.express(手把手详解)

以箱图(box)绘制为例,详细介绍如何快速使用plotly.express绘图、如何去查找详细文档去调节每一个参数,争取一通百通,40+个图形一一介绍毫无意义,“授人以鱼,不如授人以渔”。

第一步、快速获取plotly.express中图形的demo文档

plotly.express图形demo都在这里:https://plotly.com/python/plotly-express/点击box直达箱图demo文档,如下红圈,即:https://plotly.com/python/box-plots/

第二步、一行代码绘图

绘图使用的数据前5行, 对第一列total_bill绘图,详细代码

import plotly.express as px  #导入plotly.express,简写为px

df = px.data.tips()  #导入plotly.expres内置数据data.tips
fig = px.box(df, y="total_bill")  #一行代码绘图
fig.show()  #图形渲染

第三步、修改任何想修改的图形细节

plotly.express所有支持图形在这里:https://plotly.com/python-api-reference/plotly.express.html#px点击box,即:https://plotly.com/python-api-reference/generated/plotly.express.box.html#plotly.express.box可看到有非常多参数,黄色部分展示所有参数默认值,箭头处为参数详细介绍举个栗子,按smoker列绘制分组箱图

import plotly.express as px

df = px.data.tips()
fig = px.box(df, y="total_bill", color='smoker')  #color='smoker'指定按smoker列分组箱图
fig.show()

再举个栗子,修改箱图的配色,添加参数color_discrete_sequence即可,默认是Plotly调色盘这里换成Set1调色盘

import plotly.express as px

df = px.data.tips()
fig = px.box(df,
             y="total_bill",
             color='smoker',
             color_discrete_sequence=px.colors.qualitative.Set1[2:4]
             )  #color_discrete_sequence指定调色盘
fig.show()

效果还不错, 更多参数,https://plotly.com/python-api-reference/generated/plotly.express.box.html#plotly.express.box


Reference

见文中链接,该篇为入门篇,精进看下一篇



欢迎关注“pythonic生物人”

往期精彩戳:

扫描添加小编微信:答疑,开白,转载

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存