我试图使用来自pandas数据帧的数据在python中绘制线图和条形图。我设法在绘图上获得两个轴,图例显示两个条目,但第一个图不存在。
这是我的代码:
import matplotlib.pyplot as plt
import pandas as pd
ax1 = data[["timestamp", "polarity"]].plot(x="timestamp", kind="bar")
ax1.set_xticks(data["timestamp"].values)
ax1.set_ylabel("polarity")
ax1.set_xlabel("year")
ax2 = ax1.twinx()
data[["timestamp", "revenue"]].plot(x="timestamp", linestyle="-", marker="o", ax=ax2)
ax2.set_ylabel("revenue")
plt.show()
这是我得到的情节:
当我颠倒我绘制的顺序时,我得到以下情节:
如何让这些情节出现在同一个数字上?
提前感谢!
答案 0 :(得分:1)
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
x = pd.date_range(start='2016-07-15',periods=50,freq='D')
y1 = np.sin(np.linspace(0,50))
y2 = np.cos(np.linspace(0,0.3))
data = pd.DataFrame({'y1':y1,'y2':y2,'x':x})
data.set_index('x')
所以这是一个带有一堆点的数据框。
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.bar(data.index,data['y1'],color='w')
ax2 = ax1.twinx()
ax2.plot(data.index,data['y2'],'k-')
fig.show()