Arhn - архитектура программирования

Построение двух данных с большей разницей

I have this data frame:
import pandas  as pd

In:


df= pd.DataFrame({'Date':['2007-01-01 07:14:00','2007-01-01 
07:25:00','2007-01-01 08:00:00','2007-01-01 09:14:00','2007-01-01 
09:33:12'],'sent':[-0.32,0.34,-0.45,0.7,0.22],'var1': 
[114,115,111,112,113],
'var2':[110,111,115,112,109]})

print(df) 
_____________________________________
out:

       Date             sent   var1 var2
0   2007-01-01 07:14:00 -0.32   114 110
1   2007-01-01 07:25:00 0.34    115 111
2   2007-01-01 08:00:00 -0.45   111 115
3   2007-01-01 09:14:00 0.70    112 112
4   2007-01-01 09:33:12 0.22    113 109  

Пример кода

import matplotlib.pyplot as plt
plt.plot(df.Date,df.sent,label='sent')
plt.plot(df.Date,df.var1,label='price1')
plt.plot(df.Date,df.var2,label= 'price2')
plt.show()

Проблема

Я хочу построить линейную диаграмму, используя три столбца выше, но проблема в том, что столбец sent имеет очень маленькие значения по сравнению с другими столбцами, и когда я добавляю столбцы sent, он слишком сильно уменьшается, и график становится почти 3 прямыми линиями, что не очень хорошо представление данных. Однако только с var1 и var2 сюжет выглядит нормально. Любое предложение будет весьма ценным. Спасибо.

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


  • Я проголосовал за ваш вопрос за то, что он mcve. Спасибо за краткость и полноту вопроса 28.01.2019

Ответы:


1

Просто используйте дополнительную ось Y, как показано ниже. Сначала создайте объект оси ax, а затем постройте график непосредственно с помощью DataFrame и используйте secondary_y=True для столбца 'sent'.

import matplotlib.pyplot as plt

df= pd.DataFrame({'Date':['2007-01-01 07:14:00','2007-01-01 07:25:00','2007-01-01 08:00:00',
                      '2007-01-01 09:14:00','2007-01-01 09:33:12'],
              'sent':[-0.32,0.34,-0.45,0.7,0.22],'var1': [114,115,111,112,113],
              'var2':[110,111,115,112,109]})

fig, ax = plt.subplots()
df.plot('Date','var1',label='price1', ax=ax)
df.plot('Date','var2',label= 'price2',ax=ax)

df.plot('Date','sent',secondary_y=True, ax=ax, label='sent')

введите здесь описание изображения

В качестве альтернативы вы также можете явно использовать twinx, как показано ниже, что создаст рисунок ниже. Это немного сложно, потому что теперь у вас будет два отдельных поля легенды. Если вы хотите объединить два поля вместе, вы можете прочитать эту ответ

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.plot(df.Date,df.var1,label='price1')
ax.plot(df.Date,df.var2,label= 'price2')
ax.legend(loc=0)

ax1 = ax.twinx()
ax1.plot(df.Date,df.sent,color='g', label='sent')
ax1.legend(loc=2)

введите здесь описание изображения

28.01.2019
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..