matplotlib在同一x轴上同时绘制折线图和条形图

时间:2020-01-20 01:02:53

标签: python pandas matplotlib

当我将两个熊猫dfs绘制成两个折线图时,我将它们正确地放置在同一x轴上。但是,当我将其绘制为条形图时,该轴似乎已偏移。

ax = names_df.loc[:, name].plot(color='black')
living_df.loc[:, name].plot(figsize=(12, 8), ax=ax)

这正常工作,产生了结果

result

另一方面,这:

ax = names_df.loc[:, name].plot(color='black')
living_df.loc[:, name].plot.bar(figsize=(12, 8), ax=ax)

没有,并且有这个结果

result

1 个答案:

答案 0 :(得分:1)

使用matplotlib而不是调用pandas对象的plot方法:

import matplotlib.pyplot as plt

# Line plot
plt.plot(names_df.loc[:, name], color='black')
plt.plot(living_df.loc[:, name])
plt.show()
plt.close()

# Bar plot
plt.plot(names_df.loc[:, name].values)
bar_data = living_df.loc[:, name].values
plt.bar(range(len(bar_data)), bar_data)
plt.xticks(range(len(bar_data)), names_df.index.values)  # Restore xticks
plt.show()
plt.close()