>

예를 들어 설명하겠습니다. Plotly 사용자 안내서의 첫 번째 그림 인 여기 에 표시된 간단한 선 그림을 살펴 보겠습니다.

from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
trace1 = go.Scatter(x=[1,2,3], y=[4,5,6], marker={'color': 'red', 'symbol': 104, 'size': 10}, 
                    mode="markers+lines",  text=["one","two","three"], name='1st Trace')
data=go.Data([trace1])
layout=go.Layout(title="First Plot", xaxis={'title':'x1'}, yaxis={'title':'x2'})
figure1=go.Figure(data=data,layout=layout)
init_notebook_mode(connected=True)
iplot(figure1)

이제 x-tick 레이블을 'A', 'B', 'C' 로 업데이트하고 싶습니다  ytick 라벨을 'E', 'F', 'G' 로 . 그림을 다음과 같이 업데이트하면됩니다 :

figure1['data'][0]['x']=['A', 'B', 'C']
figure1['data'][0]['y']=['E', 'F', 'G']
iplot(figure1)

지금까지 너무 좋아. 그러나 먼저 matplotlib를 사용하여 그림을 그린 다음 다음과 같이 플롯으로 변환한다고 가정 해 보겠습니다.

import matplotlib.pyplot as plt
import plotly.tools as tls
plt.plot([1,2,3], [4,5,6], 'r+-', markersize=10)
plt.xlabel('x2')
plt.ylabel('y2')
mpl_fig = plt.gcf()
figure2 = tls.mpl_to_plotly(mpl_fig)
init_notebook_mode(connected=True)
iplot(figure2)

이것은 그림을 그리는 데 사용하는 라이브러리가 matplotlib에서만 작동하도록 설계되었거나 최대로 seaborn 일 때 적합합니다. 그러나 플롯을 동적/대화식으로 만들고 플롯으로 사용하려고합니다.

이번에는 이전과 똑같은 방식으로 그림을 업데이트하려고하면 빈 그림이 나타납니다!

figure2['data'][0]['x']=['A', 'B', 'C']
figure2['data'][0]['y']=['E', 'F', 'G']
iplot(figure2)

빈 그림 일뿐만 아니라 xtick 레이블과 ytick 레이블도 변경되지 않습니다.

figure1['data'][0]['x'] 에 포함 된 내용을 자세히 살펴보면 , 나는 그것의 튜플을 본다 :

그리고 figure2['data'][0]['x'] 에 포함 된 내용을 확인하면 똑같은 정확한 튜플입니다.

와이즈 위즈도 마찬가지  그리고 figure1['data'][0]['y']  -둘 다 터플 figure2['data'][0]['y'] 를 포함 .

그래 무슨 일이야? 왜 ('E', 'F', 'G')  눈금 레이블을 업데이트 한 후 플롯되지 않습니까? 어떻게 고칠 수 있나요?

figure2
  • 답변 # 1

    지금까지 내가 찾은 수정은 레이아웃을 빈 레이아웃으로 바꾸는 것입니다. 어떤 이유로 matplotlib에서 변환 된 플롯 그래프의 레이아웃은 그림에 대한 업데이트가 반영되지 않는 것으로 보입니다. 레이아웃을 비워 둔 다음 (필요한 경우 제목 및 축 레이블과 같이 항목을 추가하면 아래 그림 참조) 제대로 작동하는 것 같습니다 :

    figure2['layout'] = {'title':'First plot', 'xaxis':{'title':'x2'}, 'yaxis':{'title':'y2'}}
    figure2['data'][0]['x']=['A', 'B', 'C']
    figure2['data'][0]['y']=['E', 'F', 'G']
    iplot(figure2)
    
    

  • 이전 C #에서 '스피커> 마이크/라인/포노 인'볼륨을 설정하는 방법
  • 다음 php - Kayako Fusion을 설치하는 동안 문제가 발생했습니다