刚用python,想用matplotlib画一个ln(x)的图,出现下面的错误,请问怎么解决?

百香果不酸鸭 2018-09-11 10:58:01
import numpy
import matplotlib.pyplot as plt
import math
x = np.linspace(0,1,50)
y=math.log(x,math.e)
plt.plot(x,y)
plot.show
Traceback (most recent call last):
File "D:/python数据/图1.py", line 5, in <module>
y=math.log(x,math.e)
TypeError: only size-1 arrays can be converted to Python scalars
...全文
1489 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
W_贰浪 2018-11-08
  • 打赏
  • 举报
回复
x=np.linspace(0.05,1,50) y=[math.log(a,math.e) for a in x]
csdn_-Mr.csdn__Lee 2018-09-13
  • 打赏
  • 举报
回复 1
把y=math.log(x,math.e)改成np.math.log(x,np.e),python中的math包里面的math默认是一个数,而np.math的log函数里面可以是一个向量
qq_43185060 2018-09-12
  • 打赏
  • 举报
回复
把y改成y=[math.log(a) for a in x]
qq_43185060 2018-09-12
  • 打赏
  • 举报
回复
另外x起点0取不到,必须大余0

37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧