我试图在同一个图表上绘制线条和条形图。我很接近,但我无法解决一些问题。这就是我到目前为止所拥有的......
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.DataFrame({'Value1': np.arange(80, 180, 1),
'Value2': np.arange(1.5, .5, -0.01)},
index=np.arange(10, 110, 1))
fig, ax = plt.subplots(figsize=(10, 10))
data['Value1'].plot(ax=ax)
ax2 = ax.twinx()
data['Value2'].plot(kind='bar', ax=ax2, color='y', ylim=(0, 3))
所以我对这张图的问题是......
twinx
轴,主要/次要滴答逻辑就会被删除。我该怎么做? 最好的方法是什么?
答案 0 :(得分:0)
条形图和线条图有不同的X坐标范围不同,请考虑使用两个x坐标。
答案 1 :(得分:0)
您可以尝试在xticks
之后保存xtickslabels
和data['Value1'].plot(ax=ax)
并在data['Value2'].plot(kind='bar', ax=ax2, color='y', ylim=(0, 3))
之后将其设置回来:
data['Value1'].plot(ax=ax)
xticks = ax.get_xticks()
xlabels = [x.get_text() for x in ax.get_xticklabels()]
ax2 = ax.twinx()
data['Value2'].plot(kind='bar', ax=ax2, color='y', ylim=(0, 3))
ax.set_xticks(xticks)
ax.set_xticklabels(xlabels)
plt.show()