如何调整我的plt.axhline位置?

时间:2018-10-24 09:14:57

标签: python

为什么我的plt.axhline失真了? 我希望该水平线的X轴从0.2开始到0.8结束。如何设计呢? 如下附上我的代码,谢谢

import matplotlib.pyplot as plt
import numpy as np
x=np.full((20,),3)
print(x)
y=2*x+1
print(y)
y1=y[0]
x1=x[0]
plt.axhline(y1,0.2, 0.8, color= 'r')
plt.axvline(x1, 0.2, 0.8, linestyle= '--')
plt.show()

axhline error

1 个答案:

答案 0 :(得分:1)

您指定两条线的坐标(x = 3,y = 7),这就是为什么绘图位于该坐标处的原因。您可以更改坐标并为xaxis添加限制(使用plt.xlim)。在axhline中,您首先要指定坐标(在您的情况下为7),然后相对于绘图要走多远(0.2将到达整个绘图的左20%标记,即0.8->向右)。

这应该有效:

import matplotlib.pyplot as plt
import numpy as np
x=np.full((20,),3)
print(x)
y=2*x+1
print(y)
y1=y[0]
x1=x[0]
plt.xlim(0, 1)
plt.axhline(y1,0.2, 0.8, color= 'r')
plt.axvline(0.5, ymin=0.2, ymax=0.8, linestyle= '--')

plt.show()

输出:

enter image description here

否则,您可以执行以下操作:

您将xlim设置为0,4,然后将线设置为到达图的左侧5%(0.05 * 4 = 0.2)并到达图的右侧20%(0.2 * 4) = 0.08)。

import matplotlib.pyplot as plt
import numpy as np
x=np.full((20,),3)
print(x)
y=2*x+1
print(y)
y1=y[0]
x1=x[0]
plt.xlim(0, 4)
plt.axhline(y1,0.05, 0.2, color= 'r')
plt.axvline(x1, ymin=0.2, ymax=0.8, linestyle= '--')

plt.show()

输出:

enter image description here