我是初学者,有一个与 Python 绘图有关的问题



我是python的新手。

我想知道一个问题的语法

假设我想绘制一个数量x = (constant with a fixed given value) * ln (1+z) versus z(从 c 到 d 不等(

如何定义变量 x 和 z,如何输入"ln"函数

我已经导入了numpyscipymatplotlib,但不知道此后如何进行

由于您已经导入了numpy,因此这只是另一个答案:

import numpy as np
import matplotlib.pyplot as plt
x_coeff = 10
c = 0
d = 100
z = [i for i in range(c, d)]
x = [x_coeff * np.log(1+v) for i, v in enumerate(z)]
plt.plot(z, x)
plt.show()

检查文件总是更好,然后进行第一次尝试: https://docs.scipy.org/doc/numpy/reference/generated/numpy.log.html

您可能还需要了解"列表理解"。 这是在python中创建列表的一种美丽而方便的方式。

要绘制曲线,您需要两个列表,其中一个是 x 轴上的域,另一个是 y 轴上的范围点。 首先我们取一个常量作为输入,使用python内置的输入函数并确保它是int,使用数学库和日志函数根据需要做日志。

import math
import matplotlib.pyplot as plt
a = int(input("enter a value for constant : "))
c,d = 0,100
xvals = list(range(c,d,1)) # start,end,step
print(xvals)
yvals = [a*math.log(1+x) for x in xvals]
print(yvals)
plt.plot(xvals,yvals)
plt.show()

最新更新