Python Matplotlib:如何为数据指定正确的y轴比例?

Python Matplotlib:如何为数据指定正确的y轴比例?,python,matplotlib,yaxis,Python,Matplotlib,Yaxis,我可以创建此绘图: 导入matplotlib.pyplot作为plt x=范围(1,16) 零=[0]*15 第五点=[0.5]*15 图=plt.图() ax1=图add_子批次(111) ax1.绘图(x,天,“moccasin”) ax1.set_ylabel('days',color='moccasin') ax2=ax1.twinx() ax2.绘图(x,probs,“绿松石”) ax2.set_ylabel('probabilities',color=“青绿色”) ax3=图add_

我可以创建此绘图:

导入matplotlib.pyplot作为plt
x=范围(1,16)
零=[0]*15
第五点=[0.5]*15
图=plt.图()
ax1=图add_子批次(111)
ax1.绘图(x,天,“moccasin”)
ax1.set_ylabel('days',color='moccasin')
ax2=ax1.twinx()
ax2.绘图(x,probs,“绿松石”)
ax2.set_ylabel('probabilities',color=“青绿色”)
ax3=图add_子批次(111)
ax3.绘图(x,零,“--”,color=“moccasin”)
ax4=图添加_子批次(111)
ax4.绘图(x,第五点,“--”,颜色=“青绿色”)
图文本(0.5,0.04,'到纬度的天数,ha='center')

以下是我想要改变的东西:

  • 应根据右侧的y轴比例绘制扭转虚线
  • 应添加通用x标签和标题
这说明了我想要的变化:


我该怎么做?谢谢

您已经定义了轴ax1(左)和ax2(右)。只需使用以下选项选择要打印的轴:

x = range(1, 16)
y1 = 10*np.random.random(size=len(x))
y2 = np.random.random(size=len(x))
zero = [0] * 15
pointfive = [0.5] * 15

fig = plt.figure()

ax1 = fig.add_subplot(111)
ax1.plot(x, y1, 'moccasin')
ax1.set_ylabel('days', color='moccasin')

ax2 = ax1.twinx()
ax2.plot(x, y2, "turquoise")
ax2.set_ylabel('probabilities', color="turquoise")


ax1.plot(x, zero , "--", color="moccasin")
ax2.plot(x, pointfive , "--", color="turquoise")

ax1.set_xlabel('days to lat')

ax1.set_title('TITLE')

顺便说一句,你可能想看看你的水平线