千家信息网

python可视化plotly图例设置的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍python可视化plotly图例设置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、图例(legend)import plotly.io as p
千家信息网最后更新 2026年11月03日python可视化plotly图例设置的示例分析

这篇文章主要介绍python可视化plotly图例设置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、图例(legend)

import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列pd.set_option('display.max_columns', None)

二、update_layout(legend={}) 相关参数及示例

官方文档:https://plotly.com/python/reference/layout/#layout-showlegend

官方示例:https://plotly.com/python/legend/

  • showlegend:是否显示图例,以下任一种情况发生时,该参数默认值为 True:1. 两个及两个以上的 trace 2. 有饼图3. 有一个 trace 显式指定 showlegend=True

  • legend:图例相关设置,字典类型,可取属性如下:

    • bgcolor:设置图例的背景颜色

    • bordercolor:设置图例边框的颜色

    • borderwidth:设置图例边框的宽度

    • font:设置图例条目的文本字体,字典类型,可取属性如下:

    • color:字体颜色

    • family:字体,字符串,可以为 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman

    • size:字体大小

  • orientation:设置图例的方向。'v'(默认值)表示竖直显示图例、'h'表示水平显示图例

  • title:设置图例的标题,字典类型,可取属性如下:

font:设置图例条目的文本字体,字典类型,可取属性如下:

  • color:字体颜色

  • family:字体,字符串,可以为 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman

  • size:字体大小

side:设置图例标题相对于条目的位置。当 orientation='v' 时默认为 'top'、当 orientation='h'时默认为 'left'、当为 'top left'时可用于扩展图例的面积
text:设置图例标题

  • grouptitlefont:设置图例组名的文本字体,字典类型,可取属性如下:

    • color:字体颜色

    • family:字体,字符串,可以为 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman

    • size:字体大小

  • itemsizing:设置图例条目的符号是否跟其 ‘trace’ 有关,如果为 'constant',则所有条目的符号大小一致。

    • 可取 'trace'、 'constant'

  • itemwidth:设置条目的宽度(除 title 以外的部分)

    • 大于等于30的浮点数,默认值为30

  • tracegroupgap:设置图例组之间的间隔

    • 大于等于0的浮点数,默认值为10

traceorder:设置图例条目的顺序。如果为 'normal',条目将从上到下按照输入数据的顺序排列;如果为 'reversed',则按照输入数据的逆序排列;如果为 'grouped',条目按照组顺序显示(如果 trace 中的legendgroup 设定了);如果为 'grouped+reversed',则与 'grouped'的顺序相反
valign:设置条目符号和对应文本的竖直对齐方式。
可取 'middle'(默认值)、'top'、'bottom'

df = px.data.gapminder().query("year==2007")fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent",    size="pop", size_max=45, log_x=True)fig.update_layout(legend=dict(    yanchor="top",    y=0.99,    xanchor="left",    x=0.01))fig.write_image('../pic/legend_1.png', scale=2)fig.show()

df = px.data.gapminder().query("year==2007")fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent",    size="pop", size_max=45, log_x=True)fig.update_layout(legend=dict(    orientation="h",    yanchor="bottom",    y=1.02,    xanchor="center",    x=0.5,    title_text=''))fig.write_image('../pic/legend_2.png', scale=2)fig.show()

df = px.data.gapminder().query("year==2007")fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent",    size="pop", size_max=45, log_x=True)fig.update_layout(    legend=dict(        x=0,        y=1,        traceorder="reversed",        title_font_family="Times New Roman",        font=dict(            family="Courier",            size=12,            color="black"        ),        bgcolor="LightSteelBlue",        bordercolor="Black",        borderwidth=2    ))fig.write_image('../pic/legend_3.png', scale=2)fig.show()

fig = go.Figure()# 使用 name 参数指定条目文本,legendrank 指定顺序fig.add_trace(go.Bar(name="fourth", x=["a", "b"], y=[2,1], legendrank=4))fig.add_trace(go.Bar(name="second", x=["a", "b"], y=[2,1], legendrank=2))fig.add_trace(go.Bar(name="first", x=["a", "b"], y=[1,2], legendrank=1))fig.add_trace(go.Bar(name="third", x=["a", "b"], y=[1,2], legendrank=3))fig.write_image('../pic/legend_4.png', scale=2)fig.show()

fig = go.Figure()fig.add_trace(go.Scatter(    x=[1, 2, 3],    y=[2, 1, 3],    legendgroup="group",  # this can be any string, not just "group"    legendgrouptitle_text="First Group Title",    name="first legend group",    mode="markers",    marker=dict(color="Crimson", size=10)))fig.add_trace(go.Scatter(    x=[1, 2, 3],    y=[2, 2, 2],    legendgroup="group",    name="first legend group - average",    mode="lines",    line=dict(color="Crimson")))fig.add_trace(go.Scatter(    x=[1, 2, 3],    y=[4, 9, 2],    legendgroup="group2",    legendgrouptitle_text="Second Group Title",    name="second legend group",    mode="markers",    marker=dict(color="MediumPurple", size=10)))fig.add_trace(go.Scatter(    x=[1, 2, 3],    y=[5, 5, 5],    legendgroup="group2",    name="second legend group - average",    mode="lines",    line=dict(color="MediumPurple")))fig.update_layout(title="Try Clicking on the Legend Items!")fig.write_image('../pic/legend_5.png', scale=2)fig.show()

fig = go.Figure()fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[1, 2, 3, 4, 5],))fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[5, 4, 3, 2, 1],    visible='legendonly'))fig.write_image('../pic/legend_6.png', scale=2)fig.show()

fig = go.Figure()fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[1, 2, 3, 4, 5],    showlegend=False))fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[5, 4, 3, 2, 1],))fig.update_layout(showlegend=True)fig.write_image('../pic/legend_7.png', scale=2)fig.show()

fig = go.Figure()fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[1, 2, 3, 4, 5],    mode='markers',    marker={'size':10}))fig.add_trace(go.Scatter(    x=[1, 2, 3, 4, 5],    y=[5, 4, 3, 2, 1],    mode='markers',    marker={'size':100}))fig.update_layout(legend= {'itemsizing': 'trace'})fig.write_image('../pic/legend_8.png', scale=2)fig.show()

以上是"python可视化plotly图例设置的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

图例 字体 条目 字典 属性 文本 类型 顺序 颜色 示例 大小 参数 字符 字符串 标题 符号 分析 可视化 两个 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 科技企业和互联网企业 科技制造互联网公司 喔噻互联网科技 天津摩尔互联网科技 丰台科技园 互联网 唐信互联网科技 大连 左右互联网络科技 互联网科技公司做什么 西藏七维空间互联网科技有限公司 受益于互联网科技的高速发展 互联网5g黑科技有哪些 翼展科技 首家互联网医院 科技互联网的核心竞争力 广州互联网高科技取餐柜 易企秀互联网科技是做什么的 全球科技与互联网公司市值变化 湖北辰鑫科技互联网 悟空问答互联网科技 绵阳真晨互联网科技有限公司 互联网 科技公司 奇酷互联网科技公司 富国互联网科技创新基金 贵州叶脉互联网科技有限公司所属行业 宝灵互联网科技有限公司 互联网第三次科技革命特征 米泉互联网科技专业怎么样 科技和互联网行业的特点 上海旺乐尼互联网科技有限公司 互联网科技创新方面的资料
0