【问题标题】:Graphing a function with parameters (matplotlib)用参数绘制函数(matplotlib)
【发布时间】:2016-02-13 23:46:14
【问题描述】:

我定义了两个函数,第二个是工厂函数。

 def bear(S,K):
     if S <= K:
         value = K
     elif K < S and S < 2*K:
         value = 2*K - S
     else:
         value = 0
     return value

 def makeBear(K)
     def bear1(x):
         return bear(x,K)
     return bear1

K= 10 for 0 &lt; S &lt;(某个整数,b)时,我正在尝试从 S 的函数生成图表.

我还想使用我自己的 y 轴范围来展示它,比如 [c, d]

我试图学习的例子没有不等式。

我很难将他们的代码与我自己的代码联系起来。

我发现在控制台中执行以下操作:

makeBear10 = makeBear(10)
makeBear10(0)
makeBear10(1)
makeBear10(2)

等等……

给我图表上的点,但我需要一种更小、更简洁的方法。

【问题讨论】:

  • 我不完全确定这里的问题是什么。如果你想要一个关于如何绘制 x,y 值的教程,这个问题太宽泛了。你可以谷歌那个。如果问题是如何获取值,那么(例如 10 个值)x = range(10); y = [makeBear10(val) for val in x] 呢?
  • 我基本上需要在 x 轴上绘制一个图形,其中 x 为 0-30,y 轴上为 makeBear10(x)。但是,您的回答已经有很大帮助。我只需要了解如何设置自己的 y 轴限制,在我的例子中是 [-1, 11]。我认为它接近 plt.axis[-1,11] 但我会尝试找出那个

标签: python matplotlib graph


【解决方案1】:
  • 你可以试试 linspace 命令

y = linspace(x1,x2) 返回由 x1 和 x2 之间的 100 个均匀分布的点组成的行向量。

示例

y = linspace(x1,x2,n) 生成 n 个点。点间距为 (x2-x1)/(n-1)。

linspace 类似于冒号运算符“:”,但可以直接控制点数并始终包括端点。 “linspace”名称中的“lin”指的是生成线性间隔值,而不是兄弟函数 logspace,后者生成对数间隔值。

示例

等距数的向量 在区间 [-5,5] 内创建一个由 100 个均匀分布的点组成的向量。

y = linspace(-5,5); 具有指定数量值的向量 在区间 [-5,5] 内创建一个由 7 个均匀分布的点组成的向量。

y1 = linspace(-5,5,7) y1 =

-5.0000 -3.3333 -1.6667 0 1.6667 3.3333 5.0000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多