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

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

Plotly:如何給y軸的不同區間添加注解?

Plotly:如何給y軸的不同區間添加注解?

守候你守候我 2023-06-13 16:07:12
我正在嘗試根據 y 值的不同 inverval 向 y 軸添加注釋如果 y > 0,我想給出注釋Flexion如果 y < 0,我想給出注釋Extension我嘗試使用 multicategory 來指定注釋我的代碼如下所示import plotly.graph_objects as goimport numpy as np x = np.arange(-10,10,1)y = np.arange(-10,10,1)y_annotation = [ 'Flexion' if data > 0 else 'Extension' for data in y ]fig = go.Figure( data= go.Scatter(x=x,y=[y_annotation,y]) )fig.show()這將產生但我不希望線條將Flexision和Extension并且此方法將在 y 軸上給出詳細的 y 值,這也是我不想擁有的我想知道是否有另一種方法可以根據不同的間隔向 y 軸添加注釋?謝謝 !
查看完整描述

1 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

如果除了線條和詳細的 y 軸之外,您對上面的設置感到滿意,那么您可以放棄多索引方法,只需在適當的位置使用注釋fig.add_annotation()

下圖是用下面的代碼片段生成的:

  1. 使用 , 為左側的注釋留出空間fig.update_layout(margin=dict(l=150)),

  2. 將區間名稱和數據存儲在字典中,并且

  3. 計算每個指定區間的中間值,以及

  4. 將注釋放置在 y 軸的左側,使用xref="paper", 和

  5. 不會弄亂 y 軸刻度線的值。

陰謀

http://img1.sycdn.imooc.com//648823de0001050206450295.jpg

完整代碼:

import plotly.graph_objects as go

import numpy as np 



x = np.arange(-10,10,1)

y = np.arange(-10,10,1)


y_annotation = [ 'Flexion' if data > 0 else 'Extension' for data in y ]


intervals = {'Flexion':[0,10],

             'Extension':[0, -10]}



# plotly setup

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


# make room for annotations

fig.update_layout(margin=dict(l=150))


for k in intervals.keys():

    fig.add_annotation(dict(font=dict(color="green",size=14),

                            #x=x_loc,

                            x=-0.16,

                            y=(intervals[k][0]+intervals[k][1])/2,

                            showarrow=False,

                            text="<i>"+k+"</i>",

                            textangle=0,

                            xref="paper",

                            yref="y"

                           ))



fig.show()


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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