如何在带有不同Y轴的同一海洋图中绘制条形图和线形图?
问题内容:
我有两个具有相同索引的不同数据集,我想在同一张图中将第一组数据表示为条形图,将第二组数据表示为线形图。我当前的方法与以下类似。
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()
似乎在前一个画布上创建了一个新画布,并且白线清晰可见于小程序图的顶部。
有没有什么办法可以在不包括白线的情况下进行绘制?
问题答案:
您必须删除第二条轴的网格线。添加到代码中 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()