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


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

语法

可以使用Plotly的update_layout()方法以及legend_font_colorlegend_font_size参数手动添加图例颜色和字体大小。下面提供了一个语法示例:

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库创建散点图,其中x和y数据来自pandas DataFrame 'df'。散点图没有大小或颜色信息,也没有显示悬停信息。图表的标题设置为“我的标题”。

然后使用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

# 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()函数将tips数据集加载到Pandas DataFrame中。这使我们可以使用数据集中提供的数据来处理数据并生成可视化效果。

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

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

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

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图表中的图例颜色和图例字体大小。在Plotly图表中包含图例是数据可视化的重要组成部分。如果在某些情况下默认设置不足,则可能需要手动调整图例颜色和文本大小。可以使用update_layout()方法设置legend_font_color和legend_font_size参数。通过遵循本教程中提供的示例,用户可以修改他们的Plotly图表以满足他们自己的需求并提高可视化的清晰度。

更新于:2023年5月12日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告