📅  最后修改于: 2023-12-03 15:08:23.459000             🧑  作者: Mango
在使用 Plotly
进行数据可视化的过程中,我们可能需要更改图例的位置,以便更好地展示数据。下面我们将介绍如何使用 Python
语言和 Plotly
库来实现更改图例位置的功能。
我们需要导入 Plotly
库以及其他常用的数据处理库,如 numpy
和 pandas
。在 Python
中可以使用 import
命令来导入。
import plotly.express as px
import numpy as np
import pandas as pd
此处我们使用 numpy
库生成一个样例数据,并且将其转化为 Pandas
数组格式。
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame({'x': x, 'sin(x)': y1, 'cos(x)': y2})
df.head()
首先,我们需要定义要绘制的图形类型以及数据的来源。代码如下:
fig = px.line(df, x='x', y=['sin(x)', 'cos(x)'], labels={'value': 'function'})
这将绘制一个基本的 line
图形,其中 x
轴为 x
,y
轴包括两个曲线 sin(x)
和 cos(x)
。
默认情况下,Plotly
会将图例放在图形的右上角。如果我们需要更改图例的位置,可以使用 update_layout()
函数来实现。
fig.update_layout(
legend=dict(
x=0.5,
y=-0.1,
orientation='h'
)
)
其中,x
和 y
参数控制图例在 x
和 y
维度上的位置,取值范围均为 0-1
。这里我们将 y
设置为 -0.1
,表示将图例放到 y
轴下方。orientation
参数控制图例的方向,'h'
表示水平方向,'v'
表示垂直方向。
最后,我们将绘制出的图形用 show()
函数展示出来。
fig.show()
import plotly.express as px
import numpy as np
import pandas as pd
# Step2: 导入数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
df = pd.DataFrame({'x': x, 'sin(x)': y1, 'cos(x)': y2})
df.head()
# Step3: 绘制图形
fig = px.line(df, x='x', y=['sin(x)', 'cos(x)'], labels={'value': 'function'})
# Step4: 更改图例位置
fig.update_layout(
legend=dict(
x=0.5,
y=-0.1,
orientation='h'
)
)
# Step5: 显示图形
fig.show()
运行后,我们将得到如下的图形:
我们可以看到,图例已经成功地被移动到了 y
轴下方,可以更好地展示数据了。