我已经为此争论了太久,以至于我很确定我不理解matplotlib中twinx
的实现
好的,我有一些密码
import matplotlib.pyplot as plt
data1 = [5, 6, 6, 7]
err1 = [1, 1, 1, 1]
data2 = [0.5, 0.6]
err2 = [0.01, 0.01]
label1 = ['var1', 'var2', 'var3', 'var4']
label2 = ['var5', 'var6']
如果我只想绘制数据1,一切都很好。你知道吗
fig, ax1 = plt.subplots()
ax1.bar(label1, data1, yerr=err1, color='red')
plt.show()
如果我想将数据2添加到第二个轴上,我会丢失列,并且顺序也是奇数。你知道吗
ax1.bar(label1, data1, yerr=err1, color='red')
ax2 = ax1.twinx()
ax2.bar(label2, data2, yerr=err2, color='blue')
plt.show()
没有给我6列,但只有4列,其中两列data1现在丢失了?你知道吗
显然我百分之百肯定这是我的错,但请有人把我从这个痛苦。。。你知道吗
问题是,你的酒吧重叠,因此你看到两个酒吧少。解决方案是使用定义良好的x值来定位条形图,然后在双轴上绘制后,指定x记号标签。你知道吗
您还可以执行以下操作:
这里的问题是matplotlib轴转换为整数:“var1”->;1,“var2”->;2等,
ax2
是一个新的轴,因此“var4”->;1,“var5”->;2可以得到重叠。使你的分类在双轴之间相同可以消除这种混淆。你知道吗相关问题 更多 >
编程相关推荐