资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python绘制正弦函数,python生成正弦波

Python实操:手把手教你用Matplotlib把数据画出来

作者:迈克尔·贝耶勒(Michael Beyeler)

创新互联建站是一家专业提供阿拉山口企业网站建设,专注与网站制作、成都网站设计H5技术、小程序制作等业务。10年已为阿拉山口众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

如需转载请联系华章 科技

如果已安装Anaconda Python版本,就已经安装好了可以使用的 Matplotlib。否则,可能要访问官网并从中获取安装说明:

正如使用np作为 NumPy 的缩写,我们将使用一些标准的缩写来表示 Matplotlib 的引入:

在本书中,plt接口会被频繁使用。

让我们创建第一个绘图。

假设想要画出正弦函数sin(x)的线性图。得到函数在x坐标轴上0≤x<10内所有点的值。我们将使用 NumPy 中的 linspace 函数来在x坐标轴上创建一个从0到10的线性空间,以及100个采样点:

可以使用 NumPy 中的sin函数得到所有x点的值,并通过调用plt中的plot函数把结果画出来:

你亲自尝试了吗?发生了什么吗?有没有什么东西出现?

实际情况是,取决于你在哪里运行脚本,可能无法看到任何东西。有下面几种可能性:

1. 从.py脚本中绘图

如果从一个脚本中运行 Matplotlib,需要加上下面的这行调用:

在脚本末尾调用这个函数,你的绘图就会出现!

2. 从 IPython shell 中绘图

这实际上是交互式地执行Matplotlib最方便的方式。为了让绘图出现,需要在启动 IPython 后使用所谓的%matplotlib魔法命令。

接下来,无须每次调用plt.show()函数,所有的绘图将会自动出现。

3. 从 Jupyter Notebook 中绘图

如果你是从基于浏览器的 Jupyter Notebook 中看这段代码,需要使用同样的%matplotlib魔法命令。然而,也可以直接在notebook中嵌入图形,这会有两种输出选项:

在本书中,将会使用inline选项:

现在再次尝试一下:

上面的命令会得到下面的绘图输出结果:

如果想要把绘图保存下来留作以后使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:

仅需要确保你使用了支持的文件后缀,比如.jpg、.png、.tif、.svg、.eps或者.pdf。

作为本章最后一个测试,让我们对外部数据集进行可视化,比如scikit-learn中的数字数据集。

为此,需要三个可视化工具:

那么开始引入这些包吧:

第一步是载入实际数据:

如果没记错的话,digits应该有两个不同的数据域:data域包含了真正的图像数据,target域包含了图像的标签。相对于相信我们的记忆,我们还是应该对digits稍加 探索 。输入它的名字,添加一个点号,然后按Tab键:digits.TAB,这个操作将向我们展示digits也包含了一些其他的域,比如一个名为images的域。images和data这两个域,似乎简单从形状上就可以区分。

两种情况中,第一维对应的都是数据集中的图像数量。然而,data中所有像素都在一个大的向量中排列,而images保留了各个图像8×8的空间排列。

因此,如果想要绘制出一副单独的图像,使用images将更加合适。首先,使用NumPy的数组切片从数据集中获取一幅图像:

这里是从1797个元素的数组中获取了它的第一行数据,这行数据对应的是8×8=64个像素。下面就可以使用plt中的imshow函数来绘制这幅图像:

上面的命令得到下面的输出:

此外,这里也使用cmap参数指定了一个颜色映射。默认情况下,Matplotlib 使用MATLAB默认的颜色映射jet。然而,在灰度图像的情况下,gray颜色映射更有效。

最后,可以使用plt的subplot函数绘制全部数字的样例。subplot函数与MATLAB中的函数一样,需要指定行数、列数以及当前的子绘图索引(从1开始计算)。我们将使用for 循环在数据集中迭代出前十张图像,每张图像都分配到一个单独的子绘图中。

这会得到下面的输出结果:

关于作者:Michael Beyeler,华盛顿大学神经工程和数据科学专业的博士后,主攻仿生视觉计算模型,用以为盲人植入人工视网膜(仿生眼睛),改善盲人的视觉体验。 他的工作属于神经科学、计算机工程、计算机视觉和机器学习的交叉领域。同时他也是多个开源项目的积极贡献者。

本文摘编自《机器学习:使用OpenCV和Python进行智能图像处理》,经出版方授权发布。

Python如何画cos和sin的图啊?

在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()为展示出来

希望采纳!!

如何使用python的matplotlib画正弦函数图像

使用python的matplotlib画正弦函数图像,还要用到numpy库,代码如下9行所示:

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();

python画正余弦函数图像?

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

#-*-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如何画正弦曲线(jes环境)

没接触过这个模块。但是画曲线用过其他的供参考。

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 10000)

a = np.sin(x)

b = np.cos(x)

c = np.tan(x)

d = np.log(x)

plt.figure(figsize=(8, 4))

plt.plot(x, a, label="$sin(x)$", color="green", linewidth=1)

plt.plot(x, b, label="$cos(x)$", color='blue', linewidth=1)

plt.plot(x, c, "b--", label="$tan(x)$", color='red', linewidth=1)

plt.plot(x, d, "b--", label="$log(x)$", color='grey', linewidth=1)

plt.xlabel("Time(s)")

plt.ylabel("Volt")

plt.title("PyPlot")

plt.xlim(-10, 10)

plt.ylim(-5, 5)

plt.legend()

plt.show()


当前标题:python绘制正弦函数,python生成正弦波
标题来源:http://cdkjz.cn/article/hecoij.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220