2016-07-01 2 views

답변

0

난 그냥 plotly으로 자신을 시작 해요에서

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

덕분에, 지금까지 나는이 작업을 수행 할 수있는 좋은 방법을 발견하지 않았습니다 :하기 matplotlib에서

균등 물들은입니다. 그러나 하나의 수평 또는 수직선 만 필요하다면 아래의 코드가 실행 가능한 해킹 인 것 같습니다. 기본 격자를 사용하는 것이지만 원하는 높이의 단일 격자 선을 그립니다. 귀하의 레이아웃 dict에 다음을 포함하고, 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, 
       } 
      } 
     ], 
    }