У меня есть образцы данных (я сообщаю всего несколько строк):
date price sentiment
0 2018-09-18 0.0034 0.250000
1 2018-09-17 0.0034 0.083333
2 2018-09-16 0.0034 0.281250
3 2018-09-15 0.0035 0.096774
4 2018-09-14 0.0036 -0.039216
5 2018-09-13 0.0034 0.416667
6 2018-09-12 0.0031 0.061224
Мой пример кода таков:
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt
df = df.set_index(pd.to_datetime(df.date), drop=True)
params = {"text.color" : "black",
'figure.figsize': (13, 5),
"xtick.color" : "crimson",
"ytick.color" : "crimson"}
plt.rcParams.update(params)
fig = plt.figure()
df.price.plot(grid=True, label = "Price", legend=True, color='#228B22', title='Price vs Sentiment')
df.sentiment.plot(grid=True, secondary_y=True, label = "Sentiment", legend=True, color='#3D59AB')
plt.show()
Я хотел бы разбить линию настроения в своем графике, чтобы лучше рассмотреть варианты, возможно, показывая весь диапазон [-1; 1] настроения. Какие-либо предложения? Как я могу улучшить свой сюжет ниже?






Если вы хотите сделать ось настроений от -1 до 1, сделайте следующее.
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt
df = pd.DataFrame({'date': ['2018-09-18', '2018-09-17', '2018-09-16', '2018-09-15', '2018-09-14', '2018-09-13', '2018-09-12'],
'price': [0.0034, 0.0034, 0.0034, 0.0035, 0.0036, 0.0034, 0.0031],
'sentiment': [0.25, 0.083333, 0.281250, 0.096774, -0.039216, 0.416667, 0.061224]})
df = df.set_index(pd.to_datetime(df.date), drop=True)
params = {"text.color" : "black",
'figure.figsize': (13, 5),
"xtick.color" : "crimson",
"ytick.color" : "crimson"}
plt.rcParams.update(params)
fig = plt.figure()
df.price.plot(grid=True, label = "Price", legend=True, color='#228B22', title='Price vs Sentiment')
df.sentiment.plot(grid=True, secondary_y=True, label = "Sentiment", legend=True, color='#3D59AB', ylim=(-1, 1))
plt.show()
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.plot.html
Регулировка диапазона в Илим работает. Спасибо, Атул! ;)
Что вы имеете в виду, говоря «сломать линию настроений»? Вы можете построить линию настроения на двойной оси (правая ось Y). Создайте экземпляр оси
axи используйте его, чтобы построить на нем тональность для всего диапазона [-1,1]. Здесь - ссылка на использование двойной оси