我目前正在尝试自学如何在Python中使用matplotlib绘制函数,并且我遇到了一个相当简单的任务:给定函数f(x)= 2x +3,绘制坐标matplotlib。
通过手动计算,我已经通过手动计算解决了这个问题,创建了x值从-2到3的x值和y值的列表。
困难之路
import matplotlib.pyplot as plt
x = range(-2, 4)
y = [-1, 1, 3, 5, 7, 9]
plt.plot(x, y, 'ro')
plt.show()
这有效!
然而,有没有办法根据x值(从-2到3)和函数快速获取y值?
f(x) = 2x+3
非常感谢任何帮助!
答案 0 :(得分:1)
这是一种在一定范围内绘制函数的简便方法[A,B]
:
import numpy as np
import matplotlib.pyplot as plt
def graph(formula, x_range):
x = np.array(x_range)
y = formula(x)
plt.plot(x, y)
plt.show()
def f(x):
return 2 * x + 3
A, B = -10, 10
graph(f, range(A, B))
答案 1 :(得分:0)
lambda
函数在这种情况下非常有用。您可以使用f = lambda x: 2*x + 3
声明您的功能。 map
函数是以简单方式获取所有y
值的好方法:y = map(f, x)
。
以下是lambda
和map
的文档:
https://docs.python.org/2/reference/expressions.html#lambda https://docs.python.org/2/library/functions.html#map