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%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/226909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

听GPT 讲Rust源代码--src/tools(8)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_match_arms.rs 在Rust源代码中,rust-analyzer是一个Rust编程语言的语言服务器。它提供了代码补全、代码重构和代码导航等功能来帮助开发者提高编码效率。 在rust-analyzer的代码目…

轻松掌握ArkTS!鸿蒙新作《鸿蒙HarmonyOS应用开发入门》简介

《鸿蒙HarmonyOS应用开发入门》由清华大学出版社出版,已于近期上市。该书基于HarmonyOS 3.1 ArkTS编写,所有示例采用了比较新的API 9,可谓是目前市面上最新的鸿蒙力作。 本文对《鸿蒙HarmonyOS应用开发入门》一书做个大致的介绍。 封面部分…

Vulnhub项目:EMPIRE: BREAKOUT

一、靶机地址 靶机地址:Empire: Breakout ~ VulnHub 靶机介绍: 该靶机被定义为简单,但是如果没有找到,那就难度成中等了! 二、渗透过程 老三样,发现目标,这里用 arp-scan 确定靶机 ip&#…

17:00面试,17:06就出来了,问的问题有点变态。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,…

【web开发网页制作】Html+Css网页制作关于明星介绍王嘉尔(5页面)【附源码下载】

htmlcss网页制作目录 写在前面涉及知识效果展示1、网页构思2、网页实现2.1 首页2.2 关于我2.3 成长经历2.4 朋友2.5 爱好 3、源码分享 写在前面 接着分享哈,还是学生时代的库存,当时是为了不同风格的素材,所以自己选择了多个方向的主题来练习…

计算机操作系统4

1.什么是进程同步 2.什么是进程互斥 3.进程互斥的实现方法(软件) 4.进程互斥的实现方法(硬件) 5.遵循原则 6.总结: 线程是一个基本的cpu执行单元,也是程序执行流的最小单位。 调度算法:先来先服务FCFS、短作业优先、高响应比优先、时间片…

人工智能_机器学习061_KKT条件公式理解_原理深度解析_松弛变量_不等式约束---人工智能工作笔记0101

然后我们再来看,前面我们,拉格朗日乘子法,把带有条件的,问题,优化成了等式问题,从而, 构建拉格朗日乘子公式,进行实现了求解,但是在现实生活中,往往也有,很多不等式问题. 比如上面的这个,就是要求是h(x)<=0的情况下,函数f(x)的最小值. 可以看到,这个带有一个不等式的条件,…

『亚马逊云科技产品测评』活动征文|AWS云服务器EC2实例实现ByConity快速部署

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 前言 亚马逊是全球最大的在线零售商和云计算服务提供商。AWS云服务器在…

四、分代垃圾回收机制及垃圾回收算法

学习垃圾回收的意义 Java 与 C等语言最大的技术区别&#xff1a;自动化的垃圾回收机制&#xff08;GC&#xff09; 为什么要了解 GC 和内存分配策略 1、面试需要 2、GC 对应用的性能是有影响的&#xff1b; 3、写代码有好处 栈&#xff1a;栈中的生命周期是跟随线程&…

公司文档防泄密新招!上海迅软DSE揭秘电脑文档加密绝技!

面对频频案发的企业文档泄露事件&#xff0c;各企业该如好保护好文档安全呢&#xff1f; 1、进行文档加密&#xff0c;防止机密外泄 现在勒索病毒组织经常以公开机密信息威胁企业支付赎金&#xff0c;如果事先对重要文档加密保护&#xff0c;可以很好防止重要文档被公开。 迅软…

Python中的并发编程(2)线程的实现

Python中线程的实现 1. 线程 在Python中&#xff0c;threading 库提供了线程的接口。我们通过threading 中提供的接口创建、启动、同步线程。 例1. 使用线程旋转指针 想象一个场景&#xff1a;程序执行了一个耗时较长的操作&#xff0c;如复制一个大文件&#xff0c;我们希…

Ngnix和Apache配置SSL证书

本文主要介绍Ngnix和Apache配置SSL证书的方法 目录 SSL证书SSL证书的作用Ngnix简介Ngnix配置SSL证书Apache简介Apache配置SSL证书 SSL证书 SSL证书是一种数字证书&#xff0c;用于加密在网络上发送的数据并保护敏感信息的安全性。SSL代表“安全套接字层”&#xff0c;它是一种…

12.7 作业

1&#xff0c; #include "widget1.h"Widget1::Widget1(QWidget *parent): QWidget(parent) {//界面设置//修改界面大小this->resize(810,600);//固定界面大小this->setFixedSize(800,600);//修改界面的标题this->setWindowTitle("杰哥和阿伟专场"…

Makefile语法

一、Makefile规则格式 Makefile 里面是由一系列的规则组成的&#xff0c;这些规则格式如下&#xff1a; 目标…... : 依赖文件集合…… 命令 1 命令 2 ……参考上一节gcc编译器与Makefile入门参考这条规则 1 main: main.o input.o calcu.o2 gcc -o main main.o input.o c…

采样率越高噪声越大?

ADC采样率指的是模拟到数字转换器&#xff08;ADC&#xff09;对模拟信号进行采样的速率。在数字信号处理系统中&#xff0c;模拟信号首先通过ADC转换为数字形式&#xff0c;以便计算机或其他数字设备能够处理它们。 ADC采样率通常以每秒采样的次数来表示&#xff0c;单位为赫…

详解http请求头,响应头以及在实际开发中

HTTP (Hypertext Transfer Protocol) 协议是一种用于传输超文本的标准协议&#xff0c;它是 Web 通信的基础。HTTP 协议是无状态的&#xff0c;即每次请求是相互独立的&#xff0c;服务器不会记住上一次请求的信息。HTTP 协议采用客户端-服务器模式&#xff0c;客户端发起请求&…

添加新公司代码的配置步骤-Part2

原文地址&#xff1a;配置公司代码 概述 在第一部分中&#xff0c;我讨论并列出了在 SAP 中构建新公司代码时企业结构部分所需的任务。在这篇博客中&#xff0c;我将列出并讨论 FI 模块中需要配置的内容。您还记得本主题涵盖六个部分。 企业结构 - 第 1 部分 FI 配置– 第 2…

2023新优化应用:RIME-CNN-LSTM-Attention超前24步多变量回归预测算法

程序平台&#xff1a;适用于MATLAB 2023版及以上版本。 霜冰优化算法是2023年发表于SCI、中科院二区Top期刊《Neurocomputing》上的新优化算法&#xff0c;现如今还未有RIME优化算法应用文献哦。RIME主要对霜冰的形成过程进行模拟&#xff0c;将其巧妙地应用于算法搜索领域。 …

Android String.xml 设置加粗字体/修改字体颜色/动态设置修改文案

之前经常使用Spannable 这次主要在String.xml使用&#xff1a;<![CDATA[和]]> 效果&#xff1a; <resources><string name"str_bianse"><![CDATA[变色 <font color"#ff0000">曲项向天歌</font> 白毛浮绿水]]></st…

[BJDCTF2020]EzPHP 许多的特性

这道题可以学到很多东西 静下心来慢慢通过本地知道是干嘛用的就可以学会了 BJDctf2020 Ezphp_[bjdctf2020]ezphp-CSDN博客 这里开始 一部分一部分看 $_SERVER[QUERY_SRING]的漏洞 if($_SERVER) { if (preg_match(/shana|debu|aqua|cute|arg|code|flag|system|exec|passwd|…