2016-10-18 3 views
0

Я пытаюсь построить два кадра данных pandas. Один фрейм данных должен отображаться как линейный граф, а другой - как график рассеяния на одном графике.Pandas слияние 2 DataFrames в один граф

Строит первый dataframe:

line = pd.read_csv('nugt_daily.csv',parse_dates=['Date']) 
line = line.sort_values(by='Date') 
line.set_index('Date',inplace=True) 
line['Close'].plot(figsize=(16, 12)) 

Я хочу построить следующую dataframe поверх предыдущего графика - но как график рассеяния (а не линейный график):

points = pandas.read_csv('test_doc.csv') 
points = points.sort_values(by='Date') 
points.set_index('Date',inplace=True) 
points.plot(figsize=(16, 12)) 

Как я могу это достичь? Когда я запускаю два кода один за другим, я вижу два отдельных графика для каждого кадра данных.

ответ

0

Используйте return_type='axes', чтобы получить df1.scatterplot, чтобы вернуть объект matplotlib Axes. Затем передайте эти оси во второй вызов linegraph, используя ax=ax. Это приведет к тому, что оба графика будут рисоваться по тем же осям.

Try:

ax = df1.plot() 
df2.plot(ax=ax) 
+0

извините, пожалуйста, вы можете остановиться на этом? Какие изменения мне необходимо внести в код, который я уже скопировал с вопросом? Извините, за беспокойство, но я только начинаю с matplotlib. –

Смежные вопросы