Plotly:如何更改图例中显示的线条的大小?
Posted
技术标签:
【中文标题】Plotly:如何更改图例中显示的线条的大小?【英文标题】:Plotly: How to change the size of the lines displayed in the legend? 【发布时间】:2021-01-23 21:49:48 【问题描述】:我很难在情节上使传说更大。我已经用尽了文档、论坛、github 问题,但一无所获。开始有情节地思考并不是软件那么好。
我创建了这个图表:
我想让 Trial 1、Trial 2 和 Trial 3 的图例中的线条变大。 我可以使用他们的 api 使字体更大,但我没有看到对图例行的引用,现在想知道它是否可能。
这是一些代码:
fig.update_layout(
title_text="Dipole Moment X (0 V/nm)",
title_font=dict(size=44, family='Arial'),
template='simple_white',
xaxis_tickformat = 'i',
bargap=0.2, # gap between bars of adjacent location coordinates,
legend=dict(
orientation="h",
yanchor="bottom",
y=1.02,
xanchor="right",
x=1,
font = dict(family = "Arial", size = 60),
bordercolor="LightSteelBlue",
borderwidth=2,
itemsizing='trace'
),
legend_title = dict(font = dict(family = "Arial", size = 60)),
)
玩弄了项目大小,也一无所获。任何人都知道如何做到这一点?
更新:
根据下面的答案,我能够使线条变粗,但有一个限制。并附上我认为的厚度极限(不知道具体尺寸)
【问题讨论】:
感谢您将我的建议标记为已接受的答案。我看到你也收到了很多关于其他问题的有用建议,但很多都没有被接受。请检查您的问题,看看是否有许多答案值得在那里接受(免责声明:其中一个来自我)。 没错,我刚刚加入了一个博士课程(1 个月),到目前为止它真的很紧张,所以我有一个积压的社区软件清单。我实际上很快就会检查出的次要情节。 好的,感谢您的反馈。恭喜你开始攻读博士学位! 【参考方案1】:答案:
根据您设置图的方式,您可以使用:
fig.update_layout(legend=dict(itemsizing='constant'))
或者:
fig.update_layout(legend=dict(itemsizing='trace'))
fig.update_traces(line=dict(width=12))
详情:
在设置图形时,您似乎选择了非常细的线条。您可以使用以下方法将图例中线条的宽度与跟踪线的宽度“分离”:
fig.update_layout(legend=dict(itemsizing='constant'))
由于您还没有生成可运行的代码 sn-p,我将使用来自 px.data.gapminder()
的数据来展示效果。
情节 1 - 没有fig.update_layout(legend=dict(itemsizing='constant'))
情节 2 - 使用fig.update_layout(legend=dict(itemsizing='constant'))
您的第三个选项是设置fig.update_layout(legend=dict(itemsizing='trace'))
,然后使用例如fig.update_traces(line=dict(width=12))
来增加迹线和图例的线宽:
情节 3 - 使用fig.update_layout(legend=dict(itemsizing='trace'))
包含所有可用选项的完整代码
import plotly.express as px
df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", color='country')
fig.update_layout(showlegend=True)
fig.update_layout(legend = dict(bgcolor = 'yellow'))
#fig.update_layout(legend=dict(itemsizing='constant'))
fig.update_layout(legend=dict(itemsizing='trace'))
fig.update_traces(line=dict(width=12))
fig.show()
【讨论】:
以上是关于Plotly:如何更改图例中显示的线条的大小?的主要内容,如果未能解决你的问题,请参考以下文章
ggplot图形上线条的动态形状和大小变化创建第二个图例[重复]