在二维平面上用Python绘制y=f(x)的图形

2024-04-19 17:42:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道怎么做。你知道吗

我在网上找到的所有例子都要求我首先生成点/对(x,y)的列表,然后绘制这些对。你知道吗

但我不想这样。。。是否有一个库/模块,我可以:

  1. 提供x的间隔
  2. y(y=f(x))的公式/函数
  3. 。。。也可以指定要可视化的平面部分

让图书馆画出y的图形

我想应该有办法做到这一点,因为它看起来一点也不复杂。我觉得这是很标准的事情。你知道吗

示例:
假设我想为[0,1]中的x绘制y = sqrt(x*(1-x))。。。但在600x400屏幕区域显示此图纸(适当缩放)。我该怎么做?


Tags: 模块函数图形示例列表标准间隔图书馆
2条回答

一直看到生成点的建议的原因是,为了在计算机屏幕上绘制曲线,必须生成一组点来确定要设置的像素。作为人类,我们倾向于认为函数的图形是基于函数的。对于一台计算机来说,要做到这一点需要知道屏幕上的每一点,这一点是不是功能的一部分。屏幕只是像素的一个位数组。计算机要知道要设置哪个像素,就必须知道它是否在曲线上。最简单的方法是生成一组位于曲线上的像素,即创建满足y=f(x)的点(x,y)。你知道吗

任何绘制曲线的库都将生成点。这一步变得如此微不足道,以至于大多数图形库都希望您已经完成了这一步。图书馆这么做没什么意义,因为区别只相当于:

plt.plot(xvals, f(xvals))

与之相比:

yvals = f(xvals)
plt.plot(xvals, yvals)

由于问题是用matplotlib标记的,下面是如何完成的;例如,在区间[-3,3]中绘制y=f(x)=x^2。你知道吗

import numpy as np
import matplotlib.pyplot as plt

interval = -3,3
f = lambda x: x**2

x = np.linspace(*interval, 301)
plt.plot(x, f(x))

plt.show()

enter image description here

相关问题 更多 >