Я пытаюсь создать два интерактивных графика, где первый график - это просто график x
и y
, а второй график - это вспомогательный график, который отображает даты (fulldate) на своей оси x, которые соответствуют целому числузначения x
(значения оси x) из первого графика.
Этот код почти делает то, что я хочу.Единственная проблема заключается в том, что даты не связаны с целыми числами, поэтому, когда я использую функцию масштабирования на графике, она масштабируется на первом графике, а вспомогательный участок связывается и также увеличивает, , но даты остаютсястационарные и поэтому совершенно неточные.
обратите внимание, что это просто упрощенная версия моей программы.я переставлю даты на нижнем дисплее, чтобы они оказались внизу.
Целые числа и даты должны быть связаны, потому что в моей реальной программе я буду использовать целые числа, чтобы вести подсчет дней во временном ряду.
import matplotlib.pyplot as plt
import seaborn as sns
x=[1,5,7,4,6]
y=[1,3,8,4,6]
fulldate=['01/01/2018','02/01/2018','03/01/2018','04/01/2018','05/01/2018']
with sns.axes_style("darkgrid"):
ax1=plt.subplot2grid((6,1),(0,0),rowspan=3,colspan=1)
ax2=plt.subplot2grid((6,1),(4,0),rowspan=1,colspan=1,sharex=ax1)
ax2v = ax2.twiny()
ax1.plot(x,y)
ax2v.fill_between(fulldate,'Dates')
for label in ax2v.xaxis.get_ticklabels():
label.set_rotation(60)