为了账号安全,请及时绑定邮箱和手机立即绑定

Plotly:如何使子图的 x 轴和 y 轴标题更大?

Plotly:如何使子图的 x 轴和 y 轴标题更大?

蝴蝶不菲 2023-08-15 16:55:48
我做到了,但我似乎找不到修改它的方法。fig = make_subplots(    rows=6, cols=4,    subplot_titles=subplot_titles,    y_title='Distance (Å)',    x_title='Resid ID')positions = [                [1, 1], [1, 2], [1, 3], [1, 4],                [2, 1], [2, 2], [2, 3], [2, 4],                [3, 1], [3, 2], [3, 3], [3, 4],                [4, 1], [4, 2], [4, 3], [4, 4],                [5, 1], [5, 2], [5, 3], [5, 4],                [6, 1], [6, 2], [6, 3], [6, 4],            ]for i in range(0, len(segids)):        fig.add_trace(        go.Scattergl(            x=resid_titles,            y=list(copy[segids[i]].values()),            line=dict(color=colors[0]),                    ),                        row=int(positions[i][0]),         col=int(positions[i][1])    )    # Set titlefig.update_layout(title_text="Average O5-O3 Distance Per Resid Per Chain")fig.update_layout(    title_font_family="Arial",    title_font_color="Black",    title_font=dict(size=44, family='Courier'),)# Remove the Legendfig.update_layout(showlegend=False)fig.update_xaxes(                 ticks="outside",                 tickwidth=2,                 tickcolor='black',                 tickfont=dict(family='Arial', color='black', size=22),                 title_font=dict(size=44, family='Arial'),                 range=[1, 9],)fig.update_yaxes(                 ticks="outside",                  tickwidth=2,                 tickcolor='black',                  tickfont=dict(family='Arial', color='black', size=22),                 title_font=dict(size=44, family='Arial'),                 range=[2, 5])我尝试过使用他们的 update_xaxes 函数但不起作用。“Resid ID”和“Distance”轴标题 -> 我希望它们更大,也许改变颜色。有没有一种方法可以实现我所缺少的?这是一张图片供参考
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

答案:

您可以使用:

fig.for_each_xaxis(lambda axis: axis.title.update(font=dict(color = 'blue', size=20)))

一些细节:

基于plotly 文档中的子图示例,以下代码片段...

fig.for_each_xaxis(lambda axis: axis.title.update(font=dict(size=24)))
fig.for_each_yaxis(lambda axis: axis.title.update(font=dict(size=24)))

...将改变这个:

https://img1.sycdn.imooc.com//64db3dd100019fab10310649.jpg

...进入这个:

https://img1.sycdn.imooc.com//64db3de00001e59810170645.jpg

完整代码:

from plotly.subplots import make_subplots

import plotly.graph_objects as go


# Initialize figure with subplots

fig = make_subplots(

    rows=2, cols=2, subplot_titles=("Plot 1", "Plot 2", "Plot 3", "Plot 4")

)


# Add traces

fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]), row=1, col=1)

fig.add_trace(go.Scatter(x=[20, 30, 40], y=[50, 60, 70]), row=1, col=2)

fig.add_trace(go.Scatter(x=[300, 400, 500], y=[600, 700, 800]), row=2, col=1)

fig.add_trace(go.Scatter(x=[4000, 5000, 6000], y=[7000, 8000, 9000]), row=2, col=2)


# Update xaxis properties

fig.update_xaxes(title_text="xaxis 1 title", row=1, col=1)

fig.update_xaxes(title_text="xaxis 2 title", range=[10, 50], row=1, col=2)

fig.update_xaxes(title_text="xaxis 3 title", showgrid=False, row=2, col=1)

fig.update_xaxes(title_text="xaxis 4 title", type="log", row=2, col=2)


# Update yaxis properties

fig.update_yaxes(title_text="yaxis 1 title", row=1, col=1)

fig.update_yaxes(title_text="yaxis 2 title", range=[40, 80], row=1, col=2)

fig.update_yaxes(title_text="yaxis 3 title", showgrid=False, row=2, col=1)

fig.update_yaxes(title_text="yaxis 4 title", row=2, col=2)


# Update title and height

fig.update_layout(title_text="Customizing Subplot Axes", height=700)


# change subplot axes font size

fig.for_each_xaxis(lambda axis: axis.title.update(font=dict(color = 'blue', size=20)))

fig.for_each_yaxis(lambda axis: axis.title.update(font=dict(color = 'blue', size=20)))


fig.show()


查看完整回答
反对 回复 2023-08-15
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号