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

Plotly:如何将 ticktext 重新定位到零线附近?

Plotly:如何将 ticktext 重新定位到零线附近?

ibeautiful 2023-02-15 15:42:14
默认情况下,Plotly 似乎将 x 和 y 刻度放置在图形的外围,但是我有一个图形,其 y 零线位于中间。我希望刻度线位于 y 轴旁边,但我找不到实现这一点的命令。有可能吗?
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

据我所知,目前没有直接的方法可以做到这一点。xaxis zeroline但是,如果您对 y 值使用和的正确组合annotations,您可以获得:

//img1.sycdn.imooc.com//63ec8d070001b8bc06520323.jpg

下面的代码片段采用 y 值的最大值和最小值,构建具有定义步数的间隔列表,并为这些步骤插入注释。它不是很优雅,当你尝试缩放时它有点失败,但它有效。至少现在您不必自己尝试类似的方法。


完整代码:

import plotly.graph_objects as go

import numpy as np


x = np.arange(-4,5)

y=x**3


yticks=list(range(y.min(), y.max(), 14))

#yticks.append(y.max())9


fig = go.Figure(data=go.Scatter(x=x, y=y))


fig.update_layout(xaxis = dict(zeroline=True,

                               zerolinecolor='firebrick',

                               title_text = "x zeroline",

                               title_standoff = 4))


fig.update_layout(yaxis = dict(zeroline=True,

                               showgrid=False,

                               title_font = {"size": 20},

                               tickfont= dict(color='rgba(0,0,0,0)')))


for i, m in enumerate(yticks):

    fig.add_annotation(dict(font=dict(color='firebrick',size=12),

                                        x=0.066,

                                        y=yticks[i],

                                        showarrow=False,

                                        text=str(yticks[i])+' -',

                                        textangle=0,

                                        xanchor='right',

                                        xref="x",

                                        yref="y"))



fig.show()


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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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