如何调整plotly graph_objects3D散点图轴标签、标题位置与字号
Plotly 3D散点图自定义配置方案
3D图表的坐标轴配置和2D图表逻辑不同,所有3D轴相关设置都需要嵌套在scene参数下实现,三个需求的具体实现方式如下:
- 标题居中:在布局的title配置中设置
x=0.5即可实现水平居中,取值范围0~1,对应从左到右的位置比例。 - 自定义坐标轴标签:
update_xaxes/update_yaxes仅对2D坐标轴生效,3D轴的标签需要在scene下分别为xaxis、yaxis、zaxis设置title属性。 - 独立调整字号:不要使用顶层的
font_size参数(该参数为全局字体默认值,会同步修改所有文本大小),分别为标题、各个坐标轴标签的font.size属性传值即可实现独立控制。
完整修改后代码
import plotly.graph_objects as go import numpy as np # 生成螺旋线数据 t = np.linspace(0, 10, 50) x, y, z = np.cos(t), np.sin(t), t fig = go.Figure() # 添加螺旋线散点序列 fig.add_trace(go.Scatter3d( x=x, y=y, z=z, mode='markers', marker_color='red', marker_size=5, name='Helix' )) # 添加坐标原点散点 fig.add_trace(go.Scatter3d( x=[0], y=[0], z=[0], mode='markers', marker_color='blue', marker_size=10, name='Origin' )) fig.update_layout( # 标题独立配置 title=dict( text="Helix", font=dict(size=20), # 标题单独设置字号为20 x=0.5 # 标题水平居中 ), # 3D场景坐标轴配置 scene=dict( xaxis=dict( title=dict( text="自定义X轴标签", font=dict(size=12) # X轴标签单独设字号12 ) ), yaxis=dict( title=dict( text="自定义Y轴标签", font=dict(size=12) # Y轴标签单独设字号12 ) ), zaxis=dict( title=dict( text="自定义Z轴标签", font=dict(size=14) # Z轴标签可单独设不同字号 ) ) ) ) fig.show()
补充提示:如果需要统一设置三个坐标轴的标签字号,可以在
scene层级添加font=dict(size=12)配置,该配置优先级低于单个轴单独设置的字体属性,也不会影响标题的字号设置。
内容的提问来源于stack exchange,提问作者fishbacp
相关产品推荐
相关产品推荐

