在Matplotlib中双y坐标轴上绘制条纹前面的线
我想用两个y坐标轴绘制一个图形,并且我想要左y轴显示一条线,根据该坐标轴对x轴进行排序,右边y轴显示条。我的问题是第二个y轴隐藏了第一个y轴,如附图所示。我使用的代码如下:在Matplotlib中双y坐标轴上绘制条纹前面的线
import matplotlibimport matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
p1 = ax1.plot(ind, total_facilities, '--bo')
width = 1
p2 = ax2.bar(ind, pdb_facilities, width, color='gray',edgecolor = "none")
plt.xlim([-1,len(total_facilities)])
ax1.set_yscale('symlog')
当我重新安排轴线所以我绘制在二级轴行云的灰色条前面的蓝色线,但随后这是令人困惑,因为我想在x轴将根据主要y轴的值进行排序。有什么方法可以将蓝线保持在主y轴?
回答:
我发现我可以切换辅助y轴的地方,所以辅助y轴绘制在左侧和右侧的初级:
ax2 = ax1.twinx() p1 = ax2.plot(ind, total_facilities, '--bo')
p2 = ax1.bar(ind, pdb_facilities, width, color='gray',edgecolor = "none")
plt.xlim([-1,len(total_facilities)])
ax2.set_yscale('symlog')
ax1.yaxis.tick_right()
ax2.yaxis.tick_left()
plt.show()
以上是 在Matplotlib中双y坐标轴上绘制条纹前面的线 的全部内容, 来源链接: utcz.com/qa/257395.html