我一直在尝试打印一些使用numpy和matplotlib的方程式。
函数存储在文本文件中,每行一个方程式。这些等式如下所示:np.exp(6.6506+(-171.637)/(x*32))
我的想法是遍历每行,生成图并将其保存在某处。我的代码:
import numpy as np
import matplotlib.pyplot as plt
source = "path/to/list.txt"
with open(source) as f:
for line in f.readlines():
x = np.linspace(0,200)
y = line
plt.plot(x,y)
plt.savefig(str( line + ".png"))
plt.close()
通过删除循环部分并替换为y = line
,可以得到想要的结果y = np.exp(6.6506+(-171.637)/(x*32))
如何在txt文件中绘制所有方程式?绘图非常简单,是2D的。
使用eval
,通常会保留有关安全性的信息:
y = eval(line)
您可能需要\n
从使用以下命令从文件中读取的行中删除新行line.strip('\n')
提请注意eval
安全风险:
eval解析一个字符串(赋予它的任何字符串)并尝试执行它...这就是为什么通常将其视为安全风险,并且仅在确定不会向其传递任何恶意或有害指令时才使用它的原因。所涉及的风险并非微不足道,其后果可能是灾难性的。
有关评估危险的更多信息-@Brenogil建议
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句