亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Plotly:如何移除使用 add_annotation() 創建的箭頭尾部后面的間隙?

Plotly:如何移除使用 add_annotation() 創建的箭頭尾部后面的間隙?

POPMUISE 2023-05-09 15:33:17
我正在使用該plotly.graph_objects.Figure.add_annotation()函數將箭頭添加到我的圖中 - 請參閱下面的簡單示例代碼: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)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()呈現以下圖像:如您所見,左側矩形和箭頭尾部之間有一個小間隙。有沒有辦法消除這個差距,使箭頭完全按照參數ax和指定的方式開始ay?我曾嘗試查看文檔以查看該函數是否可能還有其他相關參數add_annotation(),但找不到線索。
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

這應該這樣做:

xanchor?=?'right'

http://img2.sycdn.imooc.com/6459f7760001608403720207.jpg

完整代碼:

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,

? ? ? ? ? ? ? ? ? ?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'確保箭頭從預期的位置開始,而空文本字段被推到其左側。


查看完整回答
反對 回復 2023-05-09
  • 1 回答
  • 0 關注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號