【发布时间】:2014-02-09 21:17:36
【问题描述】:
我需要在同一个图上绘制几条指数曲线 - 约束条件是图在 y=1 处结束。
供参考,代码如下:
from numpy import arange
from matplotlib import pyplot as plt
T = arange(60,89)
curve1 = 2**(T - 74)
curve2 = 2**(T - 60)
plt.plot(T,curve1 )
plt.plot(T,curve2 )
plt.show()
结果如下: 第二条曲线几乎看不到,因为值相对较低。
我遇到的问题是所有这些曲线都相当迅速地上升到 700000+,但我只对 (0,1) 的范围感兴趣。我如何仅绘制这些位,但具有良好的平滑曲线(这样一条曲线不会只在中途停止)?
【问题讨论】:
-
您只是在问如何设置绘图的 y 限制吗?或者如何仅绘制小于 1 的曲线部分? (即
plt.plot(T[data < 1], data[data < 1])vsplt.ylim([0, 1])) -
我只想要小于 1 的曲线部分,但没有任何曲线突然停止。
-
您只想对这些特定曲线执行此操作吗?还是您在寻找通用方法?
-
@goncalopp 一个通用的方法会很好,但我现在只设置 plt.ylim([0,1]) 。
-
将来,如果您发布一个完整的工作代码示例,那就太好了。目前,您的代码由于多种原因而失败,
succ、succ1未定义,T不是 numpy 数组,因此无法像在T-74中那样操作,等等......它也是不是minimial,我们真的需要看图例来回答这个问题吗?它还有助于拼写检查标题:)
标签: python matplotlib exponentiation