1、用python画出log1.5(x),log(2x),log(3x)
创新互联建站-专业网站定制、快速模板网站建设、高性价比连城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式连城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖连城地区。费用合理售后完善,10余年实体公司更值得信赖。
[python] view plain copy
import numpy as np
import math
import matplotlib.pyplot as plt
x=np.arange(0.05,3,0.05)
y1=[math.log(a,1.5)for a in x]
y2=[math.log(a,2)for a in x]
y3=[math.log(a,3)for a in x]
plot1=plt.plot(x,y1,'-g',label="log1.5(x)")
plot2=plt.plot(x,y2,'-r',label="log2(x)")
plot3=plt.plot(x,y3,'-b',label="log3(x)")
plt.legend(loc='lower right')
plt.show()
2、输出结果
请问同学是使用matlpot画图是么?
绘制对数坐标图的函数有三个:semilogx()、semilogy()和loglog(),它们分别绘制X轴为对数坐标、Y轴为对数坐标以及两个轴都为对数坐标时的图表。
希望能够帮到你~
raw_input获取的输入是字符串,不能直接用np.array,需要用split进行切分,然后强制转化成数值类型,才能用plot函数
我把你的代码稍微修改了一下,可能不太漂亮,不过能运行了
x=[1,2,3]
a = raw_input('function')
a = a.split(' ')#依空格对字符串a进行切分,如果是用逗号分隔,则改成a.split(',')
b = []
for i in range(len(a)):#把切分好的字符强制转化成int类型,如果是小数,将int改为float
b.append(int(a[i]))
plt.plot(x, b, label='x', color="green", linewidth=1)
在python自带编辑器IDLE中,新建脚本如作图.py
导入需要的模块
import numpy as np
import scipy as sp
import pylab as pl
2
输入代码
x=np.linspace(0,4*np.pi,100)
pl.plot(x,pl.sin(x))
pl.show()
3
执行代码,按F5,可直接显示图片
4
几点说明:
1. 方法linspace(0,4*np.pi,100)表示从0开始,到4*pi结束,生成100个点
2. 方法plot为画图函数,相当于plot(x,y),x为横坐标,y为纵坐标
3.show()为展示出来
希望采纳!!