matplotlib 使用twinx时堆叠多个xticks

wn9m85ua  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(176)

我有一个系列看起来像这样:

2022-10-08    0.357143
2022-10-09    0.500000
2022-10-10    0.500000
2022-10-11    0.500000
2022-10-12    0.642857
                ...   
2022-12-26    1.792857
2022-12-27    1.757143
2022-12-28    1.807143
2022-12-29    2.092857
2022-12-30    1.785714
Name: amount, Length: 84, dtype: float64

我基本上想用2个y轴来绘制它,每个轴的比例都不同。
这是我用2个y轴绘制这个数据的代码,左边的一个显示的是数量,右边的一个显示的是乘以7(7天的平均值和总和)

#plot 7 day rolling average
weekly.plot()
# Create a second y-axis to show total weekly hours
y2 = plt.twinx()
# plot the summation of a 7 day window
y2.plot(weekly*7)

但它显示了这样的图,带有重叠的xtick标签
result plot
注意:如果我从序列中间删除一行,问题就不会持续存在。

weekly.drop(index="2022-10-12",inplace=True)
#plot 7 day rolling average
weekly.plot()
# Create a second y-axis to show total weekly hours
y2 = plt.twinx()
# plot the summation of a 7 day window
y2.plot(weekly*7)

result plot
我如何解决这个问题?而且,有没有更好的方法来实现同样的情节?

rseugnpd

rseugnpd1#

我能想出来!

#plot 7 day rolling average
weekly.plot()
# Create a second y-axis to show total weekly hours
y2 = plt.twinx()
# plot the summation of a 7 day window
y2.plot((weekly*7).values)

code result

相关问题