Plotly:如何移除使用 add_annotation() 创建的箭头尾部后面的间隙?

我正在使用该plotly.graph_objects.Figure.add_annotation()函数将箭头添加到我的图中 - 请参阅下面的简单示例代码:


import plotly.graph_objects as go


fig = go.Figure()


fig.add_annotation(ax = 3, axref = 'x', ay = 2, ayref = 'y',

                   x = 4, xref = 'x', y = 2, yref = 'y',

                   arrowhead = 3)


fig.add_shape(x0 = 1, x1 = 3, xref = 'x',

              y0 = 1, y1 = 3, yref = 'y')


fig.add_shape(x0 = 4, x1 = 6, xref = 'x',

              y0 = 1, y1 = 3, yref = 'y')


fig.update_layout(xaxis_range = [0, 7], yaxis_range = [0, 4])


fig.show()

呈现以下图像:

http://img1.mukewang.com/6459f76600011bc805840336.jpg

如您所见,左侧矩形和箭头尾部之间有一个小间隙。有没有办法消除这个差距,使箭头完全按照参数ax和指定的方式开始ay我曾尝试查看文档以查看该函数是否可能还有其他相关参数add_annotation(),但找不到线索。



POPMUISE
浏览 196回答 1
1回答

萧十郎

这应该这样做:xanchor = 'right'完整代码:import plotly.graph_objects as gofig = go.Figure()fig.add_annotation(ax = 3, axref = 'x', ay = 2, ayref = 'y',                   x = 4, xref = 'x', y = 2, yref = 'y',                   arrowhead = 3,                   xanchor = 'right')fig.add_shape(x0 = 1, x1 = 3, xref = 'x',              y0 = 1, y1 = 3, yref = 'y')fig.add_shape(x0 = 4, x1 = 6, xref = 'x',              y0 = 1, y1 = 3, yref = 'y')fig.update_layout(xaxis_range = [0, 7], yaxis_range = [0, 4])fig.show()解释:根据文档,xanchor – 设置文本框的水平位置锚点 此锚点将位置绑定x到注释的“左”、“中”或“右”。例如,如果x设置为 1,则设置xref为“paper”和xanchor“right”,则注释的最右侧部分与绘图区域的最右侧边缘对齐。如果是“auto”,锚相当于数据引用注释的“中心”或者如果有箭头,而对于没有箭头的纸张引用,选择的锚对应于最近的边。即使没有实际的注释文本,(占位符)文本字段仍会呈现('center'默认情况下锚定到),这就是推动箭头尾部的原因。设置xanchor以'right'确保箭头从预期的位置开始,而空文本字段被推到其左侧。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python