大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用python的matplotlib画正弦函数图像,还要用到numpy库,代码如下9行所示:
成都创新互联公司是专业的番禺网站建设公司,番禺接单;提供成都网站制作、做网站、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行番禺网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
import numpy as np;
from matplotlib import pyplot as plt;
fig = plt.figure();
ax2= fig.add_subplot(111);
x=np.arange(0,100)/10;
y=np.sin(x);
ax2.plot(x,y);
plt.savefig('sine.png');
plt.show();
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)
不写出y=f(x)这样的表达式,由隐函数的等式直接绘制图像,以x²+y²+xy=1的图像为例,使用sympy间接调用matplotlib工具的代码和该二次曲线图像如下(注意python里的乘幂符号是**而不是^,还有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b),这几点和matlab的区别很大)
直接在命令提示行的里面运行代码的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2+y**2+x*y-1);
pre
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='0.5')
ax.add_patch(poly)
x_math=(a+b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center',size=12)
plt.show()
/pre