python出函数图 Python画函数图像

python画正余弦函数图像?

用python怎样画出如题所示的正余弦函数图像? 如此编写代码,使其中两个轴、图例、刻度,大小,LaTex公式等要素与原图一致,需要用到的代码如下,没有缩进:

目前成都创新互联已为近1000家的企业提供了网站建设、域名、网络空间、网站托管维护、企业网站设计、且末网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

#-*-codeing:utf-8;-*-

from matplotlib import pyplot as plt

import numpy as np

a=np.linspace(0,360,980)

b=np.sin(a/180*np.pi)

c=np.cos(a/180*np.pi)

fig = plt.figure()

ax = fig.add_subplot(111)

ax.set_xlim([0, 360])

ax.plot(a,b,label=r"$y=\sin(\theta)$")

ax.plot(a,c,label=r"$y=\cos(\theta)$")

ax.grid(True)

ax.set_ylabel(r"$y$")

ax.set_xlabel(r"$\theta$")

plt.xticks(np.arange(0,360+1,45))

plt.title("Sine Cosine Waves")

plt.legend()

plt.savefig("SinCosWaveDegFont.jpg")

plt.show()

代码运行show的窗口图

代码的截图

代码输出的文件的图

python有没有将图像变成函数的方法

当然有,这就是Python函数图像工具(EXE)。 本程序运用Python中最令人喜爱的数据处理工具numpy和超强的图像库matplotlib,实现13种不同类别函数的分类图像整理,展示图像均可以保存为图片的形式,具备拖动、放大等功能

python绘制函数图像

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里画函数图象呢?

不写出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);

Python matplotlib之函数图像绘制、线条rc参数设置

为避免中文显示出错,需导入matplotlib.pylab库

1.2.1 确定数据

1.2.2 创建画布

1.2.3 添加标题

1.2.4 添加x,y轴名称

1.2.5 添加x,y轴范围

1.2.6 添加x,y轴刻度

1.2.7 绘制曲线、图例, 并保存图片

保存图片时,dpi为清晰度,数值越高越清晰。请注意,函数结尾处,必须加plt.show(),不然图像不显示。

绘制流程与绘制不含子图的图像一致,只需注意一点:创建画布。

合理调整figsize、dpi,可避免出现第一幅图横轴名称与第二幅图标题相互遮盖的现象.

2.2.1 rc参数类型

2.2.2 方法1:使用rcParams设置

2.2.3 方法2:plot内设置

2.2.4 方法3:plot内简化设置

方法2中,线条形状,linestyle可简写为ls;线条宽度,linewidth可简写为lw;线条颜色,color可简写为c,等等。

python函数图的绘制

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


当前标题:python出函数图 Python画函数图像
本文来源:http://ybzwz.com/article/dosdgoj.html