Сюжет: Как проверить основную структуру фигуры (версия 4) - PullRequest
1 голос
/ 05 ноября 2019

Для более старых версий plotly, например, в Jupyterlab, вы можете просто запустить figure, чтобы проверить основы вашей фигуры следующим образом:

Ouput:

{'data': [{'marker': {'color': 'red', 'size': '10', 'symbol': 104},
   'mode': 'markers+lines',
   'name': '1st Trace',
   'text': ['one', 'two', 'three'],
   'type': 'scatter',
   'x': [1, 2, 3],
   'y': [4, 5, 6]}],
 'layout': {'title': 'First Plot',
  'xaxis': {'title': 'x1'},
  'yaxis': {'title': 'x2'}}}

Код для версий до V4:

import plotly.plotly as py
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'})
figure=go.Figure(data=data,layout=layout)
#py.iplot(figure, filename='pyguide_1')
figure

Если вы сделаете то же самое сейчас с аналогичной настройкой, тот же подход не даст основы рисунка, но скореепостроить саму фигуру:

код:

import pandas as pd
import plotly.graph_objects as go

trace1 = go.Scatter(x=[1,2,3], y=[4,5,6], marker={'color': 'red', 'symbol': 104},
                    mode="markers+lines",  text=["one","two","three"], name='1st Trace')  

figure = go.Figure(data=trace1)  

figure

Выход:

enter image description here

Во многих отношениях это похоже на то, как вы, например, построили бы и построили фигуру с ggplot в R. И так как plotly доступен как для R, так и для Python, я думаю, что в конце концов это имеет смысл. Но мне бы очень хотелось узнать, как получить доступ к этой базовой настройке.

Что я пробовал:

Я думаю, что это изменениеиз-за того, что figure теперь является plotly.graph_objs._figure.Figure и раньше был словарем (?). Так что figure['data'] и figure['layout'] по-прежнему диктуют с необходимым и интересным содержанием:

Вывод из figure['data']

(Scatter({
     'marker': {'color': 'red', 'symbol': 104},
     'mode': 'markers+lines',
     'name': '1st Trace',
     'text': [one, two, three],
     'x': [1, 2, 3],
     'y': [4, 5, 6]
 }),)

Вывод из figure['layout']

Layout({
    'template': '...'
})

И, конечно, такие опции, как help(figure) и dir(figure), полезны, но дают совершенно другой результат.

1 Ответ

0 голосов
/ 05 ноября 2019

Я только что узнал, что «забывание» скобок для figure.show () даст мне именно то, что я ищу. Таким образом, при настройке, аналогичной коду в вопросе, и при использовании графика V4, простой запуск figure.show даст вам следующее:

Вывод:

<bound method BaseFigure.show of Figure({
    'data': [{'marker': {'color': 'red', 'symbol': 104},
              'mode': 'markers+lines',
              'name': '1st Trace',
              'text': [one, two, three],
              'type': 'scatter',
              'x': [1, 2, 3],
              'y': [4, 5, 6]}],
    'layout': {'template': '...'}
})>

код:

import pandas as pd
import plotly.graph_objects as go

trace1 = go.Scatter(x=[1,2,3], y=[4,5,6], marker={'color': 'red', 'symbol': 104},
                    mode="markers+lines",  text=["one","two","three"], name='1st Trace')  

figure = go.Figure(data=trace1)  

figure.show
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...