2016-07-01 64 views

回答

0

我剛剛開始接觸plotly自己

import matplotlib.plyplot as plt 
plt.axvline(x=0) 
plt.axvspan(xmin=0, xmax=1) 

感謝,到目前爲止,我還沒有找到很好的辦法做到這一點。但是,如果您只需要一條水平線或垂直線,下面的代碼似乎是一個可行的方法,想法是使用默認網格,但只在所需高度繪製單個網格線。在佈局字典中包含以下內容,並在yline處繪製一條水平線。

yaxis=dict(
     zeroline=False, 
     autotick=False, 
     showgrid=True, 
     tick0=yline, 
     dtick=<something very large, so that next lines are out of range> 
) 
0

我會在佈局中使用「形狀」選項。例如,要在x = 6處獲得垂直線:

layout = {'title' : 'example', 
      'shapes' : [{'type' : 'line', 'x0' : 6, 
         'x1' : 6, 'y0' : 0, 'y1' : 10, 
         'width' : 1}]} 

您可以更改寬度參數以繪製垂直帶。

1

您可以將圖形添加到您的繪圖佈局。形狀可以包括線條或矩形。它們也可以通過相對於繪圖區而不是特定軸繪製它們而變得無限制。查看plotly shapes docs中的示例。

layout = { 
     'title': "My Chart", 
     'shapes': [ 
      { # Unbounded line at x = 4 
       'type': 'line', 
       # x-reference is assigned to the x-values 
       'xref': 'x', 
       # y-reference is assigned to the plot paper [0,1] 
       'yref': 'paper', 
       'x0': 4, 
       'y0': 0, 
       'x1': 4, 
       'y1': 1, 
       'line': { 
        'color': 'rgb(55, 128, 191)', 
        'width': 3, 
       } 
      }, 
      { # Unbounded span at 6 <= x <= 8 
       'type': 'rect', 
       # x-reference is assigned to the x-values 
       'xref': 'x', 
       # y-reference is assigned to the plot paper [0,1] 
       'yref': 'paper', 
       'x0': 6, 
       'y0': 0, 
       'x1': 8, 
       'y1': 1, 
       'fillcolor': '#d3d3d3', 
       'opacity': 0.2, 
       'line': { 
        'width': 0, 
       } 
      } 
     ], 
    }