返回顶部
首页 > 资讯 > 后端开发 > Python >Python matplotlib简介
  • 664
分享到

Python matplotlib简介

简介Pythonmatplotlib 2023-01-31 06:01:05 664人浏览 八月长安

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

摘要

本文主要翻译自matplotlib官网  matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创

本文主要翻译自matplotlib官网

 matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创建一个新的作图区域(plotting area),在一个作图区域内画直线,给图添加标签(label)等。matplotlib.pyplot是有状态的,亦即它会保存当前图片和作图区域的状态,新的作图函数会作用在当前图片的状态基础之上。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

2012120721075365.png

  上图的X坐标是1-3,纵坐标是1-4,这是因为如果你只提供给plot()函数一个列表或数组,matplotlib会认为这是一串Y值(Y向量),并且自动生成X值(X向量)。而python一般是从0开始计数的,所以X向量有和Y向量一样的长度(此处是4),但是是从0开始,所以X轴的值为[0,1,2,3]。

 如果要显示的制定X轴的坐标,可以像如下一样:

plt.plot([1,2,3,4],[1,4,9,16])

2012120721165892.png

 也可以给plt.plot()函数传递多个序列(元组或列表),每两个序列是一个X,Y向量对,在图中构成一条曲线,这样就会在同一个图里存在多条曲线。

 为了区分同一个图里的多条曲线,可以为每个X,Y向量对指定一个参数来标明该曲线的表现形式,默认的参数是'b-',亦即蓝色的直线,如果想用红色的圆点来表示这条曲线,可以:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[1,4,9,16],'ro')
plt.axis([0,6,0,20])

2012120721250472.png

 axis()函数接受形如[xmin,xmax,ymin,ymax]的参数,指定了X,Y轴坐标的范围。

 matplotlib不仅仅可以使用序列(列表和元组)作为参数,还可以使用numpy数组。实际上,所有的序列都被内在的转化为numpy数组。

import numpy as np
import matplotlib.pyplot as plt
t=np,arange(0.,5.,0.2)
plt.plot(t,t,'r--',t,t**2,'bs',t,t**3,'g^')

2012120721304035.png

控制曲线的属性

 曲线有许多我们可以设置的性质:曲线的宽度,虚线的风格,抗锯齿等等。有多种设置曲线属性的方法:

 1.使用关键词参数:

plt.plot(x,y,linewidth=2.0)

 2.使用Line2D实例的设置(Setter)方法。plot()返回的是曲线的列表,比如line1,line2=plot(x1,y1,x2,y2).我们取得plot()函数返回的曲线之后用Setter方法来设置曲线的属性。

line,=plt.plot(x,y,'-')
line.set)antialliased(False)  #关闭抗锯齿

 3.使用setp()命令:

lines=plt.plot(x1,y1,x2,y2)
plt.setp(lines,color='r',linewidth=2.0)
plt.setp(lines,'color','r','linewidth','2.0')

处理多个图和Axe

 MATLAB和pyplot都有当前图和当前axe的概念。所有的作图命令都作用在当前axe。

 函数GCa()返回当前axe,gcf()返回当前图。

复制代码
import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)

plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')

plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
复制代码

../_p_w_picpaths/pyplot_two_subplots.png

 figure()命令是可选的,因为figure(1)会被默认创建,subplot(111)也会被默认创建。subplot()命令会指定numrows,numcols,fignum,其中fignum的取值范围为从1到numrows*numcols。如果numrows*numcols小于10则subplot()命令中的逗号是可选的。所以subplot(2,1,1)与subplot(211)是完全一样的。

 如果你想手动放置axe,而不是放置在矩形方格内,则可以使用axes()命令,其中的参数为axes([left,bottom,width,height]),每个参数的取值范围为(0,1)。

 你可以使用多个figure()来创建多个图,每个图都可以有多个axe和subplot:

复制代码
import matplotlib.pyplot as plt
plt.figure(1)                # the first figure
plt.subplot(211)             # the first subplot in the first figure
plt.plot([1,2,3])
plt.subplot(212)             # the second subplot in the first figure
plt.plot([4,5,6])


plt.figure(2)                # a second figure
plt.plot([4,5,6])            # creates a subplot(111) by default

plt.figure(1)                # figure 1 current; subplot(212) still current
plt.subplot(211)             # make subplot(211) in figure1 current
plt.title('Easy as 1,2,3')   # subplot 211 title
复制代码

 你可以使用clf()和cla()命令来清空当前figure和当前axe。

 如果你创建了许多图,你需要显示的使用close()命令来释放该图所占用的内存,仅仅关闭显示在屏幕上的图是不会释放内存空间的。

处理文本

 text()命令可以用来在任意位置上添加文本,xlabel(),ylabel(),title()可以用来在X轴,Y轴,标题处添加文本。

复制代码
import numpy as np
import matplotlib.pyplot as plt

mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)

# the histogram of the data
n, bins, patches = plt.hist(x, 50, nORMed=1, facecolor='g', alpha=0.75)


plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
复制代码

../_p_w_picpaths/pyplot_text.png

 每个text()命令都会返回一个matplotlib.text.Text实例,就像之前处理曲线一样,你可以通过使用setp()函数来传递关键词参数来定制文本的属性。

t=plt.xlabel('my data',fontsize=14,color='red')

 在文本中使用数学表达式

 matplotlib在任何文本中都接受Text表达式。

 Tex表达式是有两个dollar符号环绕起来的,比如math-4cd9a23707.png的Tex表达式如下

plt.title(r'$\sigma_i=15$')

--结束END--

本文标题: Python matplotlib简介

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

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

猜你喜欢
  • Python matplotlib简介
    本文主要翻译自matplotlib官网  matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创...
    99+
    2023-01-31
    简介 Python matplotlib
  • python 绘图模块matplotlib的使用简介
        上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来。我在官网上查找了一下fio自带的命令fio_genera...
    99+
    2024-04-02
  • Python可视化Matplotlib介绍和简单图形的绘制
    目录1. 什么是Matplotlib2. 实现一个最简单的Matplotlib画图以折线图为例2.1 matplotlib.pyplot模块2.2 图形绘制流程1.创建画布 – pl...
    99+
    2024-04-02
  • Python~~简介介绍
    Python (英国发音:/paθn/ 美国发音:/paθɑn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于...
    99+
    2024-04-02
  • python简介
    Python是一种开源的面向对象编程语言随着人工智能与大数据分析的火热,python也随之火热起来Python应用广泛,特别适用以下几个方面1.系统编程:提供API(Application Programming Interface,应用程...
    99+
    2023-01-30
    简介 python
  • Python-简介
      @ Python的由来    Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Pyt...
    99+
    2023-01-30
    简介 Python
  • Python 简介
    Python介绍与特点(自学python知识整理) Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计: Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于P...
    99+
    2023-01-31
    简介 Python
  • Python——简介
    1、Python社区 Pypi:https://pypi.org/GitHub:https://github.com/StackOverFolw:https://stackoverflow.com/开源中国:https://www.osc...
    99+
    2023-01-31
    简介 Python
  • Python(二)python简介
    1.Python和shell一样,是解释型的编程语言2.Python解释器- cpython- ipython:上一章介绍过- pypy- jython- IronPython: 常用于.Net3.Python脚本查看python命令的位置...
    99+
    2023-01-31
    简介 Python python
  • 【Python】01、Python简介
    一、编程(程序设计)语言简介1、高级语言与低级语言一般来讲高级语言和低级语言有一下特点:高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可...
    99+
    2023-01-31
    简介 Python
  • 01-Python简介
    人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 Python 解释器 是用 C 语言实现的,并能够调用 C 语言的库文件.  Python(蟒蛇) ...
    99+
    2023-01-30
    简介 Python
  • python bottle 简介
    目录 正文  bottle 是一个轻量级的python web框架, 可以适配各种web服务器,包括python自带的wsgiref(默认),gevent, cherrypy,gunicorn等等。bottle是单文件形式发布,源码在这里可...
    99+
    2023-01-31
    简介 python bottle
  • Python简介———JJ
                          大家好!本人最近刚接触Python,并且打算把Python作为自己Linux上的编程语言。所以有些Python常识想和各位笔友分享一下!        Python(蟒蛇)是一种动态解释型的编...
    99+
    2023-01-31
    简介 Python JJ
  • 001-Python简介
    Python学习笔记之Python简介1、Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。2、Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚...
    99+
    2023-01-31
    简介 Python
  • python - 爬虫简介
    什么是爬虫? 模拟浏览器对网站服务器发送请求解析服务器返回的响应数据,并保存数据 爬虫能获取哪些数据? 原则上所有可以通过浏览器获取的数据都可以爬取爬虫也只能获取爬取浏览器可以正常获取的数据 爬虫的应用场景? 数据分析 (如电影票房、股票信...
    99+
    2023-09-10
    爬虫
  • Python Qt PySide6简介
    自今天起开学学习教程,有网页介绍,有视频,非常的详细。 现将主要内容摘录如下:(结合自己的实际情况,略有增删和变动)(采用边实践边写的模式) Python图形界面开发的几种方案 如果用 Python 语言开发 跨平台 的图形界面的程序,主要...
    99+
    2023-09-12
    python qt 开发语言
  • Python之struct简介
      一、struct简介        看到struct这么英文单词,大家应该并不陌生,因为c/c++中就有struct,在那里struct叫做结构体。在Python中也使用struct,这充分说明了这个struct应该和c/c++中...
    99+
    2023-01-31
    简介 Python struct
  • matplotlib简单示例
    一、简介 以下引用自百度百科 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功...
    99+
    2023-01-30
    示例 简单 matplotlib
  • 【python技能树】python简介
    1 Python定义 Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。 Python 是解释型语言: 开发过...
    99+
    2023-09-01
    python 开发语言 python技能树 python基础知识
  • Python中itertools简介使用介绍
    目录Python中itertools模块一、 简介二、 使用介绍1、 常用迭代器1.1 chain1.2 groupby2、 无穷迭代器2.1 count2.2 cycle2.3 r...
    99+
    2022-12-28
    Python中itertools Python itertools详解 Python itertools
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作