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

2023-08-11 15:28:58 浏览数 (2)

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

语法

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

代码语言:javascript复制
fig = px.scatter(df, x="x", y="y", size=None, color=None, hover_name=None, title='My title') # Set legend color fig.update_layout(legend_font_color=None) # Set font size fig.update_layout(legend_font_size=None)

给定的代码使用 Plotly Express 库创建散点图,其中包含来自熊猫数据帧 'df' 的 x 和 y 数据。散点图没有大小或颜色信息,也不会显示悬停信息。绘图标题设置为“我的标题”。

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

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

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

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

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

代码语言:javascript复制
import plotly.express as px import pandas as pd import numpy as np # create a sample dataset 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) # create a scatter plot with colored markers 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') # Set legend color to black fig.update_layout(legend_font_color='red') # Set legend font size to 14 fig.update_layout(legend_font_size=14) # display the plot fig.show()

输出

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

要创建散点图,使用了 Plotly Express 中的 px.scatter() 函数,并将数据集中的“total_bill”和“tip”列指定为图的 x 轴和 y 轴。“size”列被指定为标记的大小,“color”列被指定为变量,用于根据支付账单的人的性别为标记着色。绘图的标题设置为“提示数据”。

创建绘图后,使用 update_layout() 方法自定义绘图布局。特别是,legend_font_color参数设置为“绿色”,legend_font_size参数设置为 14。这些参数控制图上显示的图例的颜色和字体大小。

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

代码语言:javascript复制
import plotly.express as px # load tips dataset df = px.data.tips() # create a scatter plot with size-scaled markers fig = px.scatter(df, x='total_bill', y='tip', size='size', color='sex', title='Tips Data') # customize plot layout fig.update_layout(legend_font_color='green', legend_font_size=14) # display the plot fig.show()

输出

结论

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

0 人点赞