广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3.0科学计算学习之绘图(一
  • 600
分享到

Python3.0科学计算学习之绘图(一

科学 2023-01-31 00:01:20 600人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

基本绘图: (1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数)。输入的参数为具有相同长度的数组(或列表);或者plot(y)是plot(range(len(y)),y)的简

  1. 基本绘图:

(1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数)。输入的参数为具有相同长度的数组(或列表);或者plot(y)是plot(range(len(y)),y)的简写。

例1:python实现使用200个采样点来绘制sin(x),并且每隔四个点的位置设置标记。

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['simhei']         #指定默认字体(因为matplotlib默认为英文字体,汉字会使其乱码)

plt.rcParams['axes.unicode_minus']=False    #可显示‘-’负号

x=np.linspace(-2*np.pi,2*np.pi,200)     #先设定x的取值范围,从-2n到2n

samples=x[::4]

plt.plot(samples,np.sin(samples),color='red',marker='*')

plt.title('sin(x)函数及一些绘制的点')

plt.grid(color='black',linestyle='--',alpha=0.3)

plt.show()

#实现结果图:

              

表明:标准图是一条实线曲线,每个轴都会自动缩放来适应坐标值,但也可以手动进行设置。多次调用plot函数将会在同一窗口中叠加绘图。

(2) python3.0曲线拟合(polyfit,polyval)

利用numpy自带的polyfit 和 polyval 函数进行回归分析,polyfit 表示多项式曲线拟合、polyval 表示多项式曲线求值。

Z1=np.polyfit(x,y,3)    #拟合,自由度为3,3为多项式最高次幂,结果为多项式的各个系数;最高系数为3,得到4个系数从最高到最低排列;最高次幂取几要视情况而定。

P1=np.ploy1d(z1)   #将系数带入方程,得到函数式p1

Y=np.polyval(p,x)  #计算多项式的函数值。返回在x处多项式的值,p为多项式系数,元素按多项式降幂排序

实例2. 将多项式拟合为一系列的点

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['simhei']         #指定默认字体

plt.rcParams['axes.unicode_minus']=False

x=np.arange(5)

y=[1,2,1,3,5]

p2=np.polyfit(x,y,2)        

p4=np.polyfit(x,y,4)

xx=np.linspace(-1,5,200)

plt.plot(xx,np.polyval(p2,xx),label='二次多项式拟合')        #绘制曲线

plt.plot(xx,np.polyval(p4,xx),label='四次多项式插值拟合')

plt.plot(x,y,'*')       #原曲线

plt.axis([-1,5,0,6])     #axis([xmin,xmax,ymin,ymax]) 来手动设置坐标轴的范围

plt.legend(loc='upper left',fontsize='small')    #legend()函数生成图例,添加标签来解释多重绘图,该处设置是将图例放在左上角并用小字号排版。

plt.show()

#结果图为:

            

2.. 二维散点图

代码如下:

import numpy as np

import matplotlib.pyplot as plt

x1=2*np.random.standard_nORMal((2,100))

x2=0.8*np.random.standard_normal((2,100))+np.array([[6],[2]])   #加二维数组

散点不重叠在一起

plt.plot(x1[0],x1[1],'g*')

plt.plot(x2[0],x2[1],'r*')

plt.title('2D散点图')

plt.show()    #结果图为:

                                     

3. 对数图形绘制:

使用loglog函数即plt.loglog(x,y)

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['simhei']         #指定默认字体

plt.rcParams['axes.unicode_minus']=False

x=np.linspace(0,10,200)

plt.loglog(x,2*x*2,label='二次多项式',linestyle='--',linewidth=3)

plt.loglog(x,4*x*4,label='四次多项式',linestyle='-.',linewidth=3)

plt.loglog(x,5*np.exp(x),label='指数次多项式',linewidth=3)

plt.title('对数图')

#plt.axis([10*-2,10*2,10*-5,10*6])  #???思考遗留问题:如何调整指数函数x,y轴的范围

plt.legend(loc='best')

plt.show()

                      

4. 绘图格式化

(1) 常见的绘图格式参数:

 linestyle用于设置线条样式,其中描述solid 表字符串’-’(实线),dashed表‘--’(虚线),dashed dotted表‘- ,’dotted表‘:’。

 color用于设置绘图的颜色,其中有描述blue(字符串用b),green(字符串用g),red(字符串用r),cyan青色(字符串表c),magenta洋红(字符串表m),yellow、black、white(字符串表y、b、w)

Marker对图形坐标点标记,其中字符串参数(描述)分别为:.(point) 、,(pixel)、。(circle)、*(star)、d,D(thin diamond,diamond)等

注意:格式化命令可以使用短字符串语法格式:例如,plt.plot(x,’Go’)

实例:迭代计算出了正弦曲线上噪点的平均值

import numpy as np

import matplotlib.pyplot as plt

def avg(x):                          #函数avg使用roll调用来移动数组中所有的值。

    """simple running average"""

    return(np.roll(x,1)+x+np.roll(x,-1)) #np.roll(x,2)是循环移位函数,表示向右循环移位2位

x=np.linspace(-2*np.pi,2*np.pi,200)

y=np.sin(x)+0.4*np.random.rand(200)

for iteration in range(3):

    plt.subplot(3,1,iteration+1)    使用subplot命令将多个绘图放置于一个图形窗口中

    plt.plot(x,y,label='{:d} average{}'.format(iteration,'s' if iteration> 1 else''))

    plt.yticks([])

    plt.legend(loc='lower left',frameon=False)

    y=avg(y)

plt.subplots_adjust(hspace=0.7)   #在同一个图形窗口中进行多次绘图的实例图

                                                                        

 

(2) savefig命令,允许用户将图形保存为图像格式,该命令支持多种图像和文件格式,可用文件扩展名指定:plt.savefig('test.pdf')

为将图像放在非白色的背景上,可设置transparent参数使得图片背景透明  plt.savefig('test.pdf',transparent=True)  

plt.savefig('test.pdf',bbox_inches='tight')  #如果要将图形嵌入LaTeX文档中,为减少周围的空白区域,建议通过在图纸周围设置图形的边框

--结束END--

本文标题: Python3.0科学计算学习之绘图(一

本文链接: https://www.lsjlt.com/news/181728.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3.0科学计算学习之绘图(一
    基本绘图: (1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数)。输入的参数为具有相同长度的数组(或列表);或者plot(y)是plot(range(len(y)),y)的简...
    99+
    2023-01-31
    科学
  • Python3.0科学计算学习之绘图(三
    matplotlib对象:  使用matplotlib的pyplot模块,可以供用户直接使用最重要的绘图命令。多数情况下,我们希望创建一个图形并且立即展示出来,但是有时如果生成要通过更改其属性来修改的图形,就需要用面向对象的方式来处理图形...
    99+
    2023-01-31
    科学
  • Python3.0科学计算学习之绘图(四
    绘制三维图: mplot3d工具包提供了点、线、等值线、曲面和所有其他基本组件以及三维旋转缩放的三维绘图。 1.散点的三维数据图 from mpl_toolkits.mplot3d import axes3d               ...
    99+
    2023-01-31
    科学
  • Python3.0科学计算学习之类
    类:        Python中的类是一个抽象的概念,甚至比函数还要抽象。可以把它简单的看作是数据以及由存取、操作这些数据的方法所组成的一个集合。类是Python的核心概念,是面向对象编程的基础。       类有如下的优点: 类对象是...
    99+
    2023-01-31
    科学
  • Python3.0科学计算学习之函数
    函数 函数允许程序的控制在不同的代码片段之间切换,函数的重要意义在于可以在程序中清晰地分离不同的任务,将复杂的问题分解为几个相对简单的子问题,并逐个解决。即“分而治之”。  Python的自建模块一般体现为函数。Python函数有如下特点...
    99+
    2023-01-31
    函数 科学
  • Python 科学计算和绘图
    转自:http://python.jobbole.com/87471/原文出处: 達聞西   给深度学习入门者的Python快速教程基础篇numpy和Matplotlib篇本篇部分代码的下载地址:https://github.com/fr...
    99+
    2023-01-31
    科学 Python
  • Python科学计算学习之高级数组(二)
    代码性能和向量化   背景:Python是一种解释型的编程语言,基本的python代码不需要任何中间编译过程来得到机器代码,而是直接执行。而对于C、C++等编译性语言就需要在执行代码前将其编译为机器指令。 但是,解释型代码的速度比编译...
    99+
    2023-01-31
    数组 高级 科学
  • python科学计算学习二:matplo
        博客地址:http://blog.csdn.net/ikerpeng/article/details/20523679     首先补充以下:7种颜色 r g b y m c k (红,绿,蓝,黄,品红,青,黑)     在科研...
    99+
    2023-01-31
    科学 python matplo
  • Python科学计算之Pandas详解
    起步 Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持。 Pandas 的名称来自于面板数据(panel data)和python数据分析 (data ...
    99+
    2022-06-04
    详解 科学 Python
  • PHP学习笔记:科学计算与数值模拟
    引言:在当今科技大潮的推动下,科学计算和数值模拟在学术研究和工程实践中扮演着重要的角色。而作为一门功能强大的编程语言,PHP不仅可以用于网站开发和数据处理,也可以用于科学计算和数值模拟。本文将简要介绍PHP的科学计算和数值模拟基础,并提供具...
    99+
    2023-10-21
    PHP 科学计算 数值模拟
  • 学习云计算简单吗?专科生学习云计算就业前景如何?
    很多朋友看到了云计算的热度,心中跃跃欲试,但却又有所顾忌:“云计算工程师入门难吗?”其实,学云计算,不是容易不容易的问题,而是要不要学的问题。事实上,云计算已然渗透到人们生活的方方面面:我们的个人资料被存入了云盘,比如邮件、音乐、照片等,我...
    99+
    2023-06-04
  • Python科学计算之NumPy入门教程
    前言 NumPy是Python用于处理大型矩阵的一个速度极快的数学库。它允许你在Python中做向量和矩阵的运算,而且很多底层的函数都是用C写的,你将获得在普通Python中无法达到的运行速度。这是由于矩...
    99+
    2022-06-04
    入门教程 科学 Python
  • Python Tkinter学习之计算器
    初学Python tkinter,利用目前所学编写一个简单的计算器练习一下。预期效果:1.能够实现加减乘除运算,2.只能输入数字3.通过按钮选择进行哪种运算。4.结果框不能修改,智能复制5.按清除按钮能够清除所有内容 from  tkint...
    99+
    2023-01-31
    计算器 Python Tkinter
  • python3学习之时间计算
    import time import datetime y = datetime.datetime.now() s = datetime.datetime.strftime(y,"%Y-%m-%d") st = s + " " + "12...
    99+
    2023-01-31
    时间
  • PythonOpenCV学习之图形绘制总结
    目录背景一、画线二、画矩形三、画圆四、画多边形五、画文本六、鼠标绘制总结背景 使用OpenCV进行图形绘制是一种必备的技能,在图像的任务中,不管是图像检测还是图像识别,我们都需要通过...
    99+
    2022-11-12
  • Hadoop学习之路(一)——Hadoop家族学习路线图
    主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括...
    99+
    2022-10-18
  • R语言学习之基础绘图详解
    目录散点图曲线图条形图饼图R语言内置了一些基础的绘图函数,主要包括 散点图曲线图条形图饼图plotcurvebarplotpie 这些绘图函数参数各异,但有个别参数相对来说比较通用,...
    99+
    2023-03-22
    R语言基础绘图 R语言绘图
  • R语言学习之线图的绘制详解
    目录线图单线图多线图横轴文本线图线图 线图是反映趋势变化的一种方式,其输入数据一般也是一个矩阵。 单线图 假设有这么一个矩阵,第一列为转录起始位点及其上下游5 kb的区域,第二列为H...
    99+
    2022-11-13
  • 科学计算NumPy之Ndarray运算函数操作示例汇总
    目录NumPy比较运算符NumPy逻辑运算符逻辑与逻辑或逻辑异或逻辑非NumPy逻辑运算函数logical_and()函数np.logical_or()函数logical_not()...
    99+
    2023-05-18
    NumPy Ndarray运算函数 NumPy Ndarray操作汇总
  • R语言学习之火山图的绘制详解
    目录火山图输入数据格式使用significant列绘制火山图自动计算significant列绘制火山图火山图中标记基因的名字火山图 火山图用于展示基因表达差异的分布,横轴为Log2 ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作