如何在 Python 中手动在 Plotly 图形上添加图例颜色和图例字体大小?

pythonplotlyserver side programmingprogramming

本教程将解释如何使用 Python 在 Plotly 图形上手动添加图例文本大小和颜色。在本教程结束时,您将能够借助强大的 Python 数据可视化包 Plotly 创建交互式图形和图表。绘图开发必须包含一个图例,以帮助查看者理解信息。但是,Plotly 的默认图例设置并不能适应所有情况。本文将讨论如何在 Python 中手动将图例颜色和字体大小应用于 Plotly 图形。

语法

Plotly 的 update_layout() 方法以及 legend_font_color legend_font_size 参数可用于手动添加图例颜色和字体大小。下面提供了语法说明 −

fig = px.scatter(df, x="x", y="y", size=None, color=None, hover_name=None, title='My title')

# 设置图例颜色
fig.update_layout(legend_font_color=None)

# 设置字体大小
fig.update_layout(legend_font_size=None)

给定的代码使用 Plotly Express 库以及来自 pandas DataFrame 'df' 的 x 和 y 数据创建散点图。散点图没有大小或颜​​色信息,也不显示悬停信息。图表标题设置为"我的标题"。

然后使用 fig.update_layout() 方法更新由 px.scatter() 函数创建的"fig"对象,以修改图表布局。legend_font_color 参数设置为 None。同样,legend_font_size 参数设置为 None。

示例

在此示例中,我们通过定义包含三个键的数据字典来创建自己的数据框:"考试 1 分数"、"考试 2 分数"和"性别"。使用 NumPy 将随机整数和字符串值分配给这些键。然后我们使用 pd.DataFrame() 方法从数据字典创建 DataFrame。

然后使用 px.scatter() 方法创建散点图。 DataFrame 中的"考试 1 分数"和"考试 2 分数"列分别用作 x 轴和 y 轴。"性别"列用于使用 color 参数对图中的标记进行颜色编码。color_discrete_map 字典用于将"性别"列中的"男性"和"女性"值分别映射到蓝色和粉红色。然后我们将图的标题设置为"按性别划分的考试分数"。

最后,使用 fig.update_layout() 方法自定义图的图例。 legend_font_color 参数设置为 '=red' 以更改图例文本的颜色,legend_font_size 参数设置为 14 以增加图例文本的字体大小。

然后使用 fig.show() 方法显示图表。

import plotly.express as px
import pandas as pd
import numpy as np

# 创建示例数据集
data = {'Exam 1 Score': np.random.randint(50, 101, 50),
        'Exam 2 Score': np.random.randint(50, 101, 50),
        'Gender': np.random.choice(['Male', 'Female'], 50)}
df = pd.DataFrame(data)

# 创建带有彩色标记的散点图
fig = px.scatter(df, x='Exam 1 Score', y='Exam 2 Score', color='Gender', color_discrete_map={'Male': 'blue', 'Female': 'pink'}, title='Exam Scores by Gender')

# 将图例颜色设置为黑色
fig.update_layout(legend_font_color='red')

# 将图例字体大小设置为 14
fig.update_layout(legend_font_size=14)

# 显示图表
fig.show()

输出

示例

在此例如,我们首先使用 px.data.tips() 函数将 tips 数据集加载到 Pandas DataFrame 中。这使我们能够处理数据并使用数据集中提供的数据生成可视化。

要创建散点图,请使用 Plotly Express 中的 px.scatter() 函数,并将数据集中的"total_bill"和"tip"列指定为图的 x 轴和 y 轴。"size"列指定为标记的大小,"color"列指定为用于根据付款人的性别为标记着色的变量。图的标题设置为"Tips Data"。

创建图后,使用 update_layout() 方法自定义图布局。具体来说,legend_font_color 参数设置为"green",legend_font_size 参数设置为 14。这些参数控制图上显示的图例的颜色和字体大小。

最后,使用 Plotly 的show() 函数显示图。生成的图显示了餐厅顾客的总账单和小费金额之间的关系,标记的大小由另一个变量决定,颜色由付账人的性别决定。图例字体颜色设置为绿色,字体大小设置为 14,以提高可读性。

import plotly.express as px

# 加载 tips 数据集
df = px.data.tips()

# 创建带有大小缩放标记的散点图
fig = px.scatter(df, x='total_bill', y='tip', size='size', color='sex', title='Tips Data')

# 自定义绘图布局
fig.update_layout(legend_font_color='green', legend_font_size=14)

# 显示绘图
fig.show()

输出

结论

因此,我们学习了如何在 Python 中手动向 Plotly 图形添加图例颜色和图例字体大小。在 Plotly 图形中添加图例是数据可视化的重要组成部分。如果默认设置在某些情况下不够用,则可能需要手动调整图例颜色和文本大小。update_layout() 方法可用于设置 legend_font_color 和 legend_font_size 参数。通过遵循本教程中提供的示例,用户可以修改他们的 Plotly 图以满足自己的需求并提高可视化的清晰度。


相关文章