Я хочу построить данные в одной точке 2 даты - PullRequest
0 голосов
/ 06 сентября 2018

я написал коды

test ='test.csv'
test = pd.read_csv(test)

test1 =‘test1.csv'
test1 = pd.read_csv(test1)

тестовые показы

Date                Score
2010-01-01             20    
2010-01-02            30
2010-01-03            40
2010-01-04            50

test1 показывает

Date            Score
2010-01-01        10    
2010-01-03        40
2010-01-04       30
2010-01-10        60

я написал коды,

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    import plotly
    import plotly.graph_objs as go
    import datetime

    import plotly.offline as offline
    plotly.offline.init_notebook_mode(connected=False)

    test ='test.csv'
    test = pd.read_csv(test)
    test =test["Score"]

    test1 ="test1.csv"
    test1 = pd.read_csv(test1)
    test1 =test1["Score"]

    data = [
            plotly.graph_objs.Scatter(y = test, mode = 'lines', name = 'TEST'),
            plotly.graph_objs.Scatter(y = test1, mode = 'lines', name = 'TEST2', yaxis='y2'),
        ]

    layout = plotly.graph_objs.Layout(
        title="test",
        xaxis={"title":"test"},
        yaxis={"title":"test1"},
        yaxis2={"title":"test2", "overlaying":"y", "side":"right"},
        )

        fig = plotly.graph_objs.Figure(data=data, layout=layout)
        plotly.offline.iplot(fig)

Я хочу нанести на график данные test & test1 с одинаковой датой на одной оси x. Например, тестовые значения 2010-01-01 из 20 & test1's 2010-01-01 из 10 будут отображены на одной оси x. Так что, если дата приостановлена ​​из-за отсутствияданных, это нормально только сюжетный круг, но график линий.Как я могу это сделать? Что не так в моих кодах?

1 Ответ

0 голосов
/ 06 сентября 2018

Проблема в data, проверьте следующее, чтобы получить результат с двойной осью y для test и test1, как показано ниже:

test['Date'] = pd.to_datetime(test['Date'])
test
Date    Score
0   2010-01-01  20
1   2010-01-02  30
2   2010-01-03  40
3   2010-01-04  50

test1['Date'] = pd.to_datetime(test1['Date'])
test1
    Date    Score
0   2010-01-01  10
1   2010-01-03  40
2   2010-01-04  30
3   2010-01-10  60

import plotly
import plotly.graph_objs as go
import datetime

import plotly.offline as offline
plotly.offline.init_notebook_mode(connected=False)

data = [go.Scatter(x = test.Date , y = test.Score , mode = 'lines', name = 'TEST'),
        go.Scatter(x = test1.Date, y = test1.Score, mode = 'lines', name = 'TEST2', 
                   yaxis='y2')]
layout = go.Layout(title="test",
                   xaxis={"title":"test"},
                   yaxis={"title":"test1"},
                   yaxis2={"title":"test2", "overlaying":"y", "side":"right"})

fig = plotly.graph_objs.Figure(data=data, layout=layout)
plotly.offline.plot(fig)

График выглядит так

enter image description here

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