• 登录
Skip to content

一起大数据-技术文章心得

一起大数据网由数据爱好者发起并维护,专注数据分析、挖掘、大数据相关领域的技术分享、交流。不定期组织爱好者聚会,期待通过跨行业的交流和碰撞,更好的推进各领域数据的价值落地。

Menu
  • 首页
  • 大数据案例
  • 数据&电子书
  • 视频
    • Excel视频
    • VBA视频
    • Mysql视频
    • 统计学视频
    • SPSS视频
    • R视频
    • SAS视频
    • Python视频
    • 数据挖掘视频
    • 龙星计划-数据挖掘
    • 大数据视频
    • Machine Learning with Python
  • 理论
    • 统计学
    • 数据分析
    • 机器学习
    • 大数据
  • 软件
    • Excel
    • Modeler
    • Python
    • R
    • SAS
    • SPSS
    • SQL
    • PostgreSQL
    • KNIME
  • 技术教程
    • SQL教程
    • SPSS简明教程
    • SAS教程
    • The Little SAS Book
    • SAS EG教程
    • R语言教程
    • Python3教程
    • IT 技术速查手册
    • Data Mining With Python and R
    • SAS Enterprise Miner
  • 问答社区
  • 我要提问
Menu

可视化神器Plotly_Express详解

Posted on 2021年11月4日
参考资料:Plotly_express官方API教程、Plotly_express官方画图教程

一、概述

Plotly 是新一代的数据可视化神器,TopQ量化开源团队,虽然plotly功能强大,却一直没有得到广泛应用,大部分py开发人员,还在使用陈旧的matplotlib,其中最重要的原因,就是plotly的设置过于繁琐。为此,plotly推出了其简化接口:Plotly Express,简称:px。

Plotly Express是对 Plotly.py 的高级封装,采用ROR等新一代“约定优先”编程模式,内置了大量实用、现代的绘图模板,用户只需调用简单的API函数,即可快速生成漂亮的互动图表。

Plotly Express内置的图表组合,涵盖了90%常用的绘图需要,Python画图,首推Plotly Express,毫无疑问。

二、图表说明

  1. scatter:散点图
    在散点图中,每行data_frame由2D空间中的符号标记表示;
  2. scatter_3d:三维散点图
    在3D散点图中,每行data_frame由3D空间中的符号标记表示;
  3. scatter_polar:极坐标散点图
    在极坐标散点图中,每行data_frame由极坐标中的符号标记表示;
  4. scatter_ternary:三元散点图
    在三元散点图中,每行data_frame由三元坐标中的符号标记表示;
  5. scatter_mapbox:地图散点图
    在Mapbox散点图中,每一行data_frame都由Mapbox地图上的符号标记表示;
  6. scatter_geo:地理坐标散点图
    在地理散点图中,每一行data_frame都由地图上的符号标记表示;
  7. scatter_matrix:矩阵散点图
    在散点图矩阵(或SPLOM)中,每行data_frame由多个符号标记表示,在2D散点图的网格的每个单元格中有一个,其将每对dimensions彼此相对绘制;
  8. density_contour:密度等值线图(双变量分布)
    在密度等值线图中,行data_frame被组合在一起,成为轮廓标记,以可视化该值的聚合函数histfunc(例如:计数或总和)的2D分布z;
  9. density_heatmap:密度热力图(双变量分布)
    在密度热图中,行data_frame被组合在一起,成为彩色矩形瓦片,以可视化该值的聚合函数histfunc(例如:计数或总和)的2D分布 z;
  10. line:线条图
    在2D线图中,每行data_frame表示为2D空间中折线标记的顶点;
  11. line_polar:极坐标线条图
    在极线图中,每行data_frame表示为极坐标中折线标记的顶点;
  12. line_ternary:三元线条图
    在三元线图中,每行data_frame表示为三元坐标中折线标记的顶点;
  13. line_mapbox:地图线条图
    在Mapbox线图中,每一行data_frame表示为Mapbox地图上折线标记的顶点;
  14. line_geo:地理坐标线条图
    在地理线图中,每一行data_frame表示为地图上折线标记的顶点;
  15. parallel_coordinates:平行坐标图
    在平行坐标图中,每行data_frame由折线标记表示,该折线标记穿过一组平行轴,每个平行轴对应一个平行轴 dimensions;
  16. parallel_categories:并行类别图
    在并行类别(或平行集)图中,每行data_frame与其他共享相同值的行组合,dimensions然后通过一组平行轴绘制为折线标记,每个平行轴对应一个dimensions;
  17. area:堆积区域图
    在堆积区域图中,每行data_frame表示为2D空间中折线标记的顶点。连续折线之间的区域被填充;
  18. bar:条形图
    在条形图中,每行data_frame表示为矩形标记;
  19. bar_polar:极坐标条形图
    在极坐标条形图中,每一行都data_frame表示为极坐标中的楔形标记;
  20. violin:小提琴图
    在小提琴图中,将data_frame每一行分组成一个曲线标记,以便可视化它们的分布;
  21. box:箱形图
    在箱形图中,data_frame的每一行被组合在一起成为盒须标记,以显示它们的分布;
  22. strip:长条图
    在长条图中,每一行data_frame表示为类别中的抖动标记;
  23. histogram:直方图
    在直方图中,每一行data_frame被组合在一起成为矩形标记,以可视化该值的聚合函数histfunc(例如,计数或总和)的1D分布y(或者x,如果orientation是’h’时);
  24. choropleth:等高(值)区域地图
    在等值区域图中,每行data_frame由地图上的彩色区域标记表示;

三、子模块

 

import numpy as np
import pandas as pd
import plotly_express as px

1. 内置数据集

  • 不同国家历年GDP收入与人均寿命。包含字段:国家、洲、年份、平均寿命、人口数量、GDP、国家简称、国家编号;

 

gapminder = px.data.gapminder() 
  • 餐馆的订单流水。包含字段:总账单、小费、性别、是否抽烟、星期几、就餐时间、人数;

 

tips = px.data.tips()  
  • 花:萼片长、萼片宽、花瓣长、花瓣宽、种类、种类编号

 

iris = px.data.iris()  
  • 风力等级:方向、强度、数值

 

wind = px.data.wind()        
  • 2013年蒙特利尔市长选举投票结果。包括字段:区域、Coderre票数、Bergeron票数、Joly票数、总票数、胜者、结果(占比分类)

 

election = px.data.election() 
  • 蒙特利尔一个区域中心附近的汽车共享服务的可用性。包括字段:纬度、经度、汽车小时数、高峰小时

 

carshare = px.data.carshare()

2. 内置颜色面板

  • 开源包:卡通片的色彩和序列

 

px.colors.carto
  • 开源包:CMOcean项目的色阶

 

px.colors.cmocean
  • 开源包:来自ColorBrewer2项目的色阶和序列

 

px.colors.colorbrewer
  • 周期性色标适用于具有自然周期结构的连续数据

 

px.colors.cyclical 
  • 分散色标适用于具有自然中点的连续数据

 

px.colors.diverging     
  • 定性色标适用于没有自然顺序的数据

 

px.colors.qualitative
  • 顺序色标适用于大多数连续数据

 

px.colors.sequential        
  • 举例展示

 

px.colors.qualitative.swatches() 
  • 举例效果

四、 散点图

1. 方法定义

 

def scatter(data_frame, x=None, y=None, color=None, symbol=None, size=None, 
            hover_name=None, hover_data=None, text=None, facet_row=None, 
            facet_col=None, error_x=None, error_x_minus=None, error_y=None, 
            error_y_minus=None, animation_frame=None, animation_group=None, 
            category_orders={}, labels={}, color_discrete_sequence=None, 
            color_discrete_map={}, color_continuous_scale=None, 
            range_color=None, color_continuous_midpoint=None, 
            symbol_sequence=None, symbol_map={}, opacity=None,
            size_max=None, marginal_x=None, marginal_y=None, trendline=None,
            trendline_color_override=None, log_x=False, log_y=False,
            range_x=None, range_y=None, render_mode='auto', title=None, 
            template=None, width=None, height=None):

    return
2. 参数说明
  • data_frame:目标数据,类型为dataframe;
  • x :指定列名。列中的值用于笛卡尔坐标中沿 X 轴的定位标记。图表类型为水平柱状图时,这些值用作参数histfunc的入参;
  • y :指定列名。列中的值用于笛卡尔坐标中沿 Y 轴的定位标记。图表类型为垂直柱状图时,这些值用作参数histfunc的入参;
  • color:指定列名。为列中的不同值,(由px)自动匹配不同的标记颜色;若列为数值数据时,还会自动生成连续色标;
  • symbol:指定列名。为列中的不同值,设置不同的标记形状;
  • size:指定列名。为列中的不同值,设置不同的标记大小;
  • hover_name:指定列名。将列中的值,加粗显示在悬停提示内容的正上方;
  • hover_data:指定列名组成的列表。所有列的值,显示在悬停提示内容中,位于x/y值的下方。指定的列与x/y重复时仅显示1条数据;
  • text:指定列名。列中的值,在图的标记中显示为文本标签,同时也显示在悬停提示内容中;
  • facet_row:指定列名。根据列中不同的(N个)值,在垂直方向上显示N个子图,并在子图右侧,垂直方向上,进行文本标注;
  • facet_col:指定列名。根据列中不同的(N个)值,在水平方向上显示N个子图,并在子图上方,水平方向上,进行文本标注;
  • error_x:指定列名。显示误差线,列中的值用于调整 X 轴误差线的大小。如果参数error_x_minus == None,则悬停提示内容中,显示对称的误差值;否则显示正向的误差值。该列通常是基于元数据加工的结果,目的是统计元数据指标的误差值,一般会用元数据除以100的整数倍。
  • error_x_minus:指定列名。列中的值用于在负方向调整 X 轴误差线的大小,如果参数error_x==None,则直接忽略该参数;
  • error_y:指定列名。显示误差线,列中的值用于调整 Y 轴误差线的大小。如果参数error_y_minus == None,则悬停提示内容中,显示对称的误差值;否则显示正向的误差值。该列通常是基于元数据加工的结果,目的是统计元数据指标的误差值,一般会用元数据除以100的整数倍。
  • error_y_minus:指定列名。列中的值用于在负方向调整 Y 轴误差线的大小,如果参数error_y==None,则直接忽略该参数;
  • animation_frame:指定列名。列中的值用于为动画帧指定标记,即设置滑动条;
  • animation_group:指定列名。列中的值用于提供跨动画帧的联动匹配;
  • category_orders:带有字符串键和字符串列表值的字典,默认为{},此参数用于强制每列的特定值排序,dict键是列名,dict值是指定的排列顺序的字符串列表。默认情况下,在Python 3.6+中,轴,图例和构面中的分类值的顺序取决于在data_frame中首次出现的顺序,而在3.6以下的Python中,默认不保证顺序,该参数即为解决此类问题而设计;
  • labels:带字符串键和字符串值的dict,默认为{}。此参数用于修改图表中显示的列名称。默认情况下,图表中使用列名称作为轴标题、图例条目、悬停提示等,此参数可以进行修改,dict的键是列名,dict值是修改的新名称;
  • color_discrete_sequence:有效的CSS颜色字符串列表,取自plotly_express的color子模块。当参数color指定的列不是数值数据时,该参数为color列指定颜色序列,若category_orders参数不为None,则按category_orders中设定的顺序循环执行color_discrete_sequence,除非color列的值在参数color_discrete_map入参的dict键中;
  • color_discrete_map:带字符串键和有效CSS颜色字符串值的dict,默认为{}。当参数color指定的列不是数值数据时,该参数用于将特定颜色分配给,与特定值对应的标记,color_discrete_map中的键为color表示的列值。其优先级高,会覆盖color_discrete_sequence参数中的设置;
  • color_continuous_scale:有效的CSS颜色字符串列表,取自plotly_express的color子模块。当参数color指定的列是数值数据时,为连续色标,设置指定的颜色序列。实际上,color指定列时,px会自动匹配颜色:1)若指定列是数值数据,通过参数color_continuous_scale可以设定具体的颜色序列;2)若指定列是非数值数据时,通过参数color_discrete_sequence可以设定具体的颜色序列(循环匹配);通过参数color_discrete_map可以为列中不同值,指定具体的颜色;
  • range_color:2个数字元素组成的列表,参数用于设定连续色标上的自动缩放,即边界的大小值;
  • color_continuous_midpoint:数字,默认为无。如果设置,则计算连续色标的边界以具有所需的中点。 若使用plotly_express.colors.diverging色标作为color_continuous_scale的如参时,建议设置此值;
  • symbol_sequence:定义plotly.js符号的字符串列表。参数用于为列中的值分配符号,除非symbol的值是symbol_map中的键。分配符号的顺序:按按category_orders中设置的顺序循环执行;
  • symbol_map:带字符串键和定义plotly.js符号的字符串值的dict,默认值{}。该参数用于将特定符号分配给,与特定值对应的标记,symbol_map中的键为symbol表示的列值。其优先级高,会覆盖symbol_sequence参数中的设置;
  • opacity:数字,介于0和1之间,设置标记的不透明度;
  • size_max:整数,默认为20。使用size参数时,设置最大标记的大小;
  • marginal_x:字符串,取值:rug(细条)、box(箱图)、violin(小提琴图)、histogram(直方图)。该参数用于在主图上方,绘制一个水平子图,以便对x分布,进行可视化;
  • marginal_y:字符串,取值:rug(细条)、box(箱图)、violin(小提琴图)、histogram(直方图)。该参数用于在主图右侧,绘制一个垂直子图,以便对y分布,进行可视化;
  • trendline:字符串,取值:ols、lowess、None。取值为ols时,将为每个离散颜色/符号组,绘制一个普通最小二乘回归线;取值为lowess时,则将为每个离散颜色/符号组,绘制局部加权散点图平滑线;
  • trendline_color_override:字符串,有效的CSS颜色。如果设置了参数trendline趋势线,则将以此颜色绘制所有趋势线;
  • log_x:布尔值,默认为False。如果为True,则 X 轴在笛卡尔坐标系中进行对数缩放;
  • log_y:布尔值,默认为False。如果为True,则 Y 轴在笛卡尔坐标系中进行对数缩放;
  • range_x:2个数字元素组成的列表,用于设定笛卡尔坐标中 X 轴上的自动缩放,即边界的大小值;
  • range_y:2个数字元素组成的列表,用于设定笛卡尔坐标中 Y 轴上的自动缩放,即边界的大小值;
  • render_mode:字符串,取值:auto(默认)、svg、webgl。用于控制绘制标记的浏览器API,svg适用于少于1000的数据,并允许完全矢量化输出;webgl可以接收1000点以上的数据;auto使用启发式方法来选择模式;
  • title:字符串,设置图表的标题;
  • template:字符串或Plotly.py模板对象,设置图表的背景颜色。有三个内置的 Plotly 主题: plotly, plotly_white 和 plotly_dark;
  • width:整数,默认无,设置图表的宽度(以像素为单位);
  • height:整数,默认600,设置图表的高度(以像素为单位);
3. 说明
  • 实际上,其它的图表,其方法中的绝大多数参数和散点图的参数,用法基本相同,本文不再详细解释其它图表的定义和方法,具体可以参见官方API文档,下文会展示部分图表的制作;

五、 图表制作

1. 散点图和折线图

  • 简单散点图

 

px.scatter(iris, x="sepal_width", y="sepal_length")
  • 散点图,为不同种类的花自动配置颜色

 

px.scatter(iris, x="sepal_width", y="sepal_length", color="species")
  • 散点图,分别在图表的上方、右侧增加直方图、细条图

 

px.scatter(iris, x="sepal_width", y="sepal_length", color="species", 
           marginal_y="rug", marginal_x="histogram")
  • 散点图,分别在图表的上方、右侧增加箱形图、小提琴图,并添加趋势线

 

px.scatter(iris, x="sepal_width", y="sepal_length", color="species", 
           marginal_y="violin", marginal_x="box", trendline="ols")
  • 散点图,为标记添加x、y轴方向上的误差线

 

iris["e"] = iris["sepal_width"]/100   --设置误差值、删除误差值:del iris["e"] 
px.scatter(iris, x="sepal_width", y="sepal_length", color="species", 
           error_x="e", error_y="e")
  • 散点图,在垂直(y)、水平(x)方向上,按指定的列,单独展示子图表,并为列值进行排序

 

px.scatter(tips, x="total_bill", y="tip", facet_row="time", facet_col="day", 
           color="smoker", trendline="ols",category_orders={"day": ["Thur", 
           "Fri", "Sat", "Sun"], "time": ["Lunch", "Dinner"]})
  • 散点图,颜色列为数值数据时,会自动展示色标

 

px.scatter(tips, x="total_bill", y="tip", color="size", facet_col="sex",
           color_continuous_scale=px.colors.sequential.Viridis, 
           render_mode="webgl")
  • 散点图,设置标记大小依赖的列,对 x 轴进行缩放处理

 

px.scatter(gapminder.query("year==2007"), x="gdpPercap", y="lifeExp", 
           size="pop", color="continent",hover_name="country", log_x=True, 
           size_max=60)
  • 散点图,增加滑动条,设置坐标轴取值范围

 

px.scatter(gapminder, x="gdpPercap", y="lifeExp", animation_frame="year", 
           animation_group="country", size="pop", color="continent", 
           hover_name="country", facet_col="continent",log_x=True, 
           size_max=45, range_x=[100,100000], range_y=[25,90])
  • 矩阵散点图,查看指标相关性

 

px.scatter_matrix(iris)
  • 矩阵散点图,指定部分列进行展示。散点图矩阵(SPLOM)是允许可视化多个链接的散点图,方便查看数据集中的每个变量与其他变量的关系。 数据集中的每一行都显示为每个图中的一个点,可以进行缩放、平移或选择操作,所有图都是链接在一起的

 

px.scatter_matrix(iris, dimensions=["sepal_width", "sepal_length", 
                  "petal_width", "petal_length"], color="species")
  • 平行坐标图,多维数据连线,允许同时显示3个以上的连续变量。 dataframe 中的每一行都是一行,可以拖动尺寸,以重新排序它们,并选择值范围之间的交叉点。

 

px.parallel_coordinates(iris, color="species_id", labels={"species_id": 
            "Species", "sepal_width": "Sepal Width", "sepal_length": 
            "Sepal Length",  "petal_width": "Petal Width", "petal_length": 
            "Petal Length"},color_continuous_scale=px.colors.diverging.
            Tealrose, color_continuous_midpoint=2)
  • 并行类别图,是并行坐标的分类模拟:使用它们可视化数据集中多组类别之间的关系

 

px.parallel_categories(tips, color="size", color_continuous_scale=px.
            colors.sequential.Inferno)
  • 线条图,设置线条类型

 

px.line(gapminder, x="year", y="lifeExp", color="continent", 
        line_group="country", hover_name="country",
        line_shape="spline", render_mode="svg")
  • 堆积区域图

 

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

2. 可视化分布

  • 密度等值线图

 

px.density_contour(iris, x="sepal_width", y="sepal_length")
  • 密度等值线图,分别在图表的上方、右侧增加细条图、直方图

 

px.density_contour(iris, x="sepal_width", y="sepal_length", color="species", 
                   marginal_x="rug", marginal_y="histogram")
  • 密度热力图

 

px.density_heatmap(iris, x="sepal_width", y="sepal_length", 
                   marginal_x="rug", marginal_y="histogram")
  • 条形图,设置堆积类型

 

px.bar(tips, x="sex", y="total_bill", color="smoker", barmode="group")
  • 条形图,在垂直(y)、水平(x)方向上,按指定的列,单独展示子图表,并为列值进行排序

 

px.bar(tips, x="sex", y="total_bill", color="smoker", barmode="group", 
       facet_row="time", facet_col="day", category_orders={"day": ["Thur", 
       "Fri", "Sat", "Sun"], "time": ["Lunch", "Dinner"]})
  • 直方图,在图表的上方增加细条图

 

px.histogram(tips, x="total_bill", y="tip", color="sex", marginal="rug", 
             hover_data=tips.columns)
  • 直方图,在垂直(y)、水平(x)方向上,按指定的列,单独展示子图表,并为列值进行排序

 

px.histogram(tips, x="sex", y="tip", histfunc="avg", color="smoker", 
             barmode="group", facet_row="time", facet_col="day", 
             category_orders={"day": ["Thur", "Fri", "Sat", "Sun"], 
             "time": ["Lunch", "Dinner"]})
  • 长条图,设置方向为水平

 

px.strip(tips, x="total_bill", y="time", orientation="h", color="smoker")
  • 箱形图,设置使用槽口绘制框

 

px.box(tips, x="day", y="total_bill", color="smoker", notched=True)
  • 小提琴图,同时在内部显示箱图,展示所有采样数据

 

px.violin(tips, y="tip", x="smoker", color="sex", box=True, points="all", 
          hover_data=tips.columns)

3. 三元坐标

  • 三元散点图,为不同的列,指定具体的颜色

 

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"} )
  • 三元线条图,设置短划线模式

 

px.line_ternary(election, a="Joly", b="Coderre", c="Bergeron", color="winner", 
                line_dash="winner")

4. 3D坐标

  • 三维散点图,设置不同的标记形状,并指定具体颜色

 

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"})

5. 极坐标

  • 极坐标散点图,指定颜色序列,沿极坐标中的角度轴定位标记

 

px.scatter_polar(wind, r="value", theta="direction", color="strength", 
            symbol="strength",color_discrete_sequence=px.colors.sequential.
            Plotly[-2::-1])
  • 极坐标线条图

 

px.line_polar(wind, r="value", theta="direction", color="strength", 
            line_close=True,color_discrete_sequence=px.colors.sequential.Plotly[-2::-1])
  • 极坐标条形图,设置图表背景颜色

 

px.bar_polar(wind, r="value", theta="direction", color="strength", template="plotly_dark",
            color_discrete_sequence= px.colors.sequential.Plotly[-2::-1])

6. 地图

  • 地理坐标散点图,设定滑动条,设定展示的地图类型:自然地图,即平面图

 

px.scatter_geo(gapminder, locations="iso_alpha", color="continent", hover_name="country", size="pop",
               animation_frame="year", projection="natural earth")
  • 地理坐标线条图,设定展示的地图类型:正交地图,即立体地图

 

px.line_geo(gapminder.query("year==2007"), locations="iso_alpha", 
            color="continent", projection="orthographic")
  • 等高(值)区域地图,设定滑动条,指定具体颜色序列范围

 

px.choropleth(gapminder, locations="iso_alpha", color="lifeExp", 
             hover_name="country", animation_frame="year",color_continuous_scale=px.colors.sequential.Plasma, range_color=[20,80])

六、 Plotly生态

  1. Plotly.py 已经发展成为一个非常强大的可视化交互工具,它可以让你控制图形的几乎每个方面,从图例的位置到刻度的长度。推出 Plotly Express 的主要目标是使 Plotly.py 更容易用于探索和快速迭代;
  2. 对于Plotly 生态系统,一旦使用 Plotly Express 创建了一个图形,就可以使用Themes,使用 FigureWidgets 进行命令性编辑,使用 Orca 将其导出为几乎任何文件格式,或者在 GUI JupyterLab 图表编辑器中编辑它;
  3. 主题(Themes)允许控制图形范围的设置,如边距、字体、背景颜色、刻度定位等,也可以使用模板参数,应用任何命名的主题或主题对象;
  4. Plotly_express 的输出,继承自 Plotly.py 的 Figure 类 ExpressFigure 的对象,这意味着可以使用任何 Figure 的访问器和方法,来改变 px 生成的图表,通常借助于 .update() 函数来调用;
  5. demo:对Plotly_express生成的图表,设置标记类型、坐标轴标签名称、坐标轴刻度倾斜角度、显示坐标轴线、坐标轴刻度间隔等;
  • 修改前–代码

 

# 选取2个国家:中国、阿富汗
country_list = ["China", "Afghanistan"]    
tem_gapminder = gapminder.query("country == @country_list")

fig = px.line(tem_gapminder, x="year", y="lifeExp", color="country", 
              width=1000, height=400, title="国家人均寿命", template="", 
              line_shape="spline", line_dash="country")
  • 修改前–图表
  • 修改后–代码

 

# 选取2个国家:中国、阿富汗
country_list = ["China", "Afghanistan"]    
tem_gapminder = gapminder.query("country == @country_list")

fig = px.line(tem_gapminder, x="year", y="lifeExp", color="country", 
              width=1000, height=400, title="国家人均寿命", template="", 
              line_shape="spline", line_dash="country")

# 修改时添加的代码
fig.update_traces(dict(mode="markers+lines"))
fig.update(layout=dict(xaxis=dict(title="年份", tickangle=-30, 
                       showline=True, nticks=20),
                       yaxis=dict(title="人均寿命", showline=True)))
  • 修改后–图表

Plotly Express 作为一个新的 Python 可视化库,在 Plotly 生态系统下,将会迅速发展,所以不要犹豫,立即开始使用 Plotly Express 吧!

推荐访问


数据分析交流:数据分析交流
Excel学习: Excel学习交流
Python交流:一起学习Python(数据分
SQL交流:一起学习SQL(数据分析
微博:一起大数据

最新提问

  • SQL Chat
  • sql server 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了”阻止保存要求重新创建表的更改”选项。
  • 偏相关分析
  • 复相关系数
  • 【R语言】熵权法确定权重
  • 如何破解Excel VBA密码
  • 解决 vba 报错:要在64位系统上使用,请检查并更新Declare 语句
  • 基于 HuggingFace Transformer 的统一综合自然语言处理库
  • sqlserver分区表索引
  • Navicat连接数据库后不显示库、表、数据

文章标签

ARIMA CBC Excel GBDT KNN Modeler Mysql pandas PostgreSQL python python数据可视化 R SAS sklearn SPSS SQL SVM Tableau TensorFlow VBA 主成分分析 关联规则 决策树 协同过滤 可视化 因子分析 大数据 大数据分析 推荐系统 数据分析 数据可视化 数据挖掘 数据透视表 文本挖掘 时间序列 机器学习 深度学习 神经网络 结构方程 统计学 联合分析 聚类 聚类分析 逻辑回归 随机森林
©2023 一起大数据-技术文章心得 | Design: Newspaperly WordPress Theme