Сравнение наборов данных с графиком - смешайте пунктирной линией - PullRequest
0 голосов
/ 27 февраля 2019

Как мы можем указать пунктирные линии по отношению к пунктирным линиям на графике go.Layout для наборов данных dataframe?Ниже мой код, который использует фрейм данных и выкладывает график сплошными линиями.

Я хочу использовать второй объект фрейма данных, чтобы пунктирные линии были на одном графике.

В некотором смысле я пытаюсь сравнить два фрейма данных, которые имеют одинаковыйточные имена столбцов, но они должны иметь разные форматы строк для более удобного сравнения.

Справка PS (go.Layout) содержит информацию только о точечных линиях, но не о обычных форматах строк.

Большое спасибо,

init_notebook_mode(connected=True)
import plotly.plotly as py
import plotly.graph_objs as go
import pandas as pd

#sample dataframe defined into `df1`

plot_df = [{
    'x': df1.index,
    'y': df1[col],
    'name': col
}  for col in df1.columns]

layout= go.Layout(
    title= 'Plot_with_solidline',
    xaxis= dict(title= 'Iteration'),
    yaxis=dict(title= 'Accuracy'),
    showlegend= True
)
fig= go.Figure(data=plot_df, layout=layout)
plot(fig, filename='pandas-line-naming-traces', auto_open=False)

1 Ответ

0 голосов
/ 27 февраля 2019

Разобрался с решением и отвечал за других, которые могут столкнуться с такими ошибками.

Добавление должно быть сделано в самом объекте данных.

init_notebook_mode(connected=True)
import plotly.plotly as py
import plotly.graph_objs as go
import pandas as pd

#sample dataframe defined into `df1`, `df2`

layout=go.Layout(
    title= 'Plot_with_solidline_dashline',
    xaxis= dict(title= 'Iteration'),
    yaxis=dict(title= 'Accuracy'),
    showlegend= True
)
plot_df=[]
for col in df1.columns:
    plot_df.append(
        go.Scatter(x=df1.index, y=df1[col], mode='lines', line={'dash': 'solid'}, name=col)
    )
    plot_df.append(
        go.Scatter(x=df2.index, y=df2[col], mode='lines', line={'dash': 'dash'}, name=col)
    )

fig= go.Figure(data=plot_df, layout=layout)
plot(fig, filename='pandas-line-naming-traces', auto_open=False)
...