我目前在matploblib上有这个功能:
x = np.arange(0,31)
y = x/(30-x)
plt.plot(x,y)
plt.ylabel('some numbers')
axes = plt.gca()
axes.set_ylim([0,3])
axes.set_xlim([0,25])
plt.show()
但是,我想在y轴上仅显示数字3,2和1/3,并且对应于这些数字,3T / 4,2T / 3,T / 4。理想情况下,会有一条虚线表示这些点。 (1/3,T / 4),(2T / 3,2)和(3T / 4,3)
也就是说,我想表示等式X /(T-X),其中T是常数。这可能吗?
答案 0 :(得分:0)
添加axes.set_yticks([1/3, 2, 3])
仅在数字3,2和1/3上添加刻度。
答案 1 :(得分:0)
Lemme确保我至少理解你想要的第一部分。您希望x轴标记为" 1/3"," 2"," 3",对吧?
这应该是那个部分:
T = 30
# avoid divide by zero warning
x = np.arange(0.0001,31)
y = x/(T-x)
plt.plot(x,y)
plt.ylabel('some numbers')
ax = plt.gca()
ax.set_ylim([0,3])
ax.set_xlim([0,5])
ax.xaxis.set_ticks([1/3, 2, 3])
ax.xaxis.set_ticklabels(['1/3', '2', '3'])