我有两个具有相同索引的不同数据集,我想在同一张图中将第一组数据表示为条形图,将第二组数据表示为线形图。我当前的方法与以下类似。
ax = pt.a.plot(alpha = .75, kind = 'bar')
ax2 = ax.twinx()
ax2.plot(ax.get_xticks(), pt.b.values, alpha = .75, color = 'r')
结果与此类似
此图像非常好,几乎正确。我唯一的问题是
ax.twinx()
似乎在前一个 Canvas 上创建了一个新 Canvas ,并且白线清晰可见于小节图的顶部。有没有什么办法可以在不包括白线的情况下进行绘制?
最佳答案
您必须删除第二条轴的网格线。添加到代码ax2.grid(False)
。但是,第二个轴的y轴将不与第一个y轴的y轴对齐,如下所示:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(pd.Series(np.random.uniform(0,1,size=10)), color='g')
ax2 = ax1.twinx()
ax2.plot(pd.Series(np.random.uniform(0,17,size=10)), color='r')
ax2.grid(False)
plt.show()