Plotly 是一个用于创建交互式图表的 Python 库。它支持多种图表类型,包括散点图、条形图、热力图、3D 图表等。子图(Subplots)是指在一个图中包含多个子图表,这样可以更有效地展示复杂的数据。
Plotly 支持多种类型的子图,包括:
以下是一个使用 Plotly 创建包含多个子图并添加图例的示例代码:
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# 创建一个包含两个子图的图表
fig = make_subplots(rows=1, cols=2, subplot_titles=("Subplot 1", "Subplot 2"))
# 添加第一个子图
fig.add_trace(
go.Scatter(x=[1, 2, 3], y=[4, 5, 6], mode='markers', name='Series 1'),
row=1, col=1
)
# 添加第二个子图
fig.add_trace(
go.Scatter(x=[1, 2, 3], y=[6, 5, 4], mode='lines', name='Series 2'),
row=1, col=2
)
# 更新布局,设置图例位置
fig.update_layout(legend_title_text="Legend", legend=dict(orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1))
# 显示图表
fig.show()
原因:可能是由于图例的位置或样式设置不正确。
解决方法:
update_layout
中正确设置了图例的位置和样式。fig.update_layout(legend_title_text="Legend", legend=dict(orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1))
原因:可能是由于子图的布局设置不当。
解决方法:
make_subplots
的 shared_xaxes
和 shared_yaxes
参数来共享轴,减少间距。fig = make_subplots(rows=1, cols=2, subplot_titles=("Subplot 1", "Subplot 2"), shared_xaxes=True, shared_yaxes=True)
通过以上方法,可以有效地解决在 Plotly 中添加图例到子图时可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云