python可视化plotly 图例(legend)设置大全,值得收藏!

2023-12-07 15:28

本文主要是介绍python可视化plotly 图例(legend)设置大全,值得收藏!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、图例(legend)
    • 二、update\_layout(legend={}) 相关参数及示例
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


一、图例(legend)

import plotly.io as pio
import plotly.express as px
import plotly.graph\_objects as go
from plotly.subplots import make\_subplots
import pandas as pd
import 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技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,希望提供给想学习 Python 的小伙伴们一点帮助!

保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

这篇关于python可视化plotly 图例(legend)设置大全,值得收藏!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/466365

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py