Matplotlib(一)

Matplotlib库的介绍

Matplotlib库的使用

Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

import matplotlib.pyplot as plt

入门案例

import matplotlib.pyplot as plt
plt.plot([3, 1, 2, 4, 5])
plt.ylabel("grade")
plt.show()

注意:plt.plot()只有一个输入列表或数组时,参数被当做Y轴,X轴以索引自动生成

运行效果如下

import matplotlib.pyplot as plt
plt.plot([3, 1, 2, 4, 5])
plt.ylabel("Grade")
plt.savefig("D:/test", dpi=600) # PNG文件,dpi是指每一个英寸中所包含的点的数量
plt.show()

注意:plt.savefig()将输出图形存储为文件,默认为PNG格式,可以通过dpi修改输出质量

import matplotlib.pyplot as plt
plt.plot([0, 2, 4, 6, 8], [3, 1, 4, 5, 2]) # x轴坐标[0, 2, 4, 6, 8] y轴坐标[3, 1, 4, 5, 2]
plt.ylabel("Grade")
plt.axis([-1, 10, 0, 6]) # x轴范围:[-1, 10] y轴范围:[0, 6]
plt.show()

注意:plt.plot(x, y)当有两个以上参数时,按照x轴和y轴顺序绘制数据点

pyplot的绘图区域

plt.subplot(nrows, ncols, plot_number)  # nrows:横纵区域的数量(行)  ncols:纵轴区域的数量(列) ploy_number:当前位于哪个区域

3行2列

import numpy as np
import matplotlib.pyplot as plt
# f(t)是能量衰减函数
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
# arange(start, stop, step, dtype)
# 根据start(默认为0)与stop(不包含stop的终止值)指定的范围以及step(默认为1)步长值,生成一个ndarray数组
a = np.arange(0.0, 5.0, 0.02)
plt.subplot(211)
plt.plot(a, f(a)) # 根据数组a绘制能量衰减函数 plt.subplot(2, 1, 2)
plt.plot(a, np.cos(2*np.pi*a*2), 'r--')
plt.show()

pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)
  • x:x轴数据,列表或数组,可选
  • y:y轴数据,列表或数组
  • format_string:控制曲线的格式字符串,可选
  • **kwargs:第二组或更多(x, y, format_string)

注意:当绘制多条曲线时,各条曲线的x不能省略

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(10)
plt.plot(a, a*1.5, a, a*2.5, a, a*3.5, a, a*4.5)
plt.show()

关键参数format_string:**

format_string:控制曲线的格式字符串,可选由颜色字符、风格字符和标记字符组成

颜色字符、风格字符和标记字符可以组合使用

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(10)
plt.plot(a, a*1.5, 'go-', a, a*2.5, 'rx', a, a*3.5, '*', a, a*4.5, 'b-.')

**kawrgs:第二组或更多(x, y, format_string)

color:控制颜色,color='green'

linestyle:线条风格,linestyle='dashed'

marker:标记风格,marker='o'

markerfacecolor:标记颜色,markerfacecolor='blue'

markersize:标记尺寸,markersize=20

pyplot的中文显示

pyplot的中文显示的第一种方法

pyplot并不默认支持中文显示,需要rcParams修改字体实现

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(10)
plt.rcParams['font.family'] = 'SimHei' # SimHei是黑体
plt.plot([3, 1, 4, 5, 2])
plt.ylabel("纵轴(值)")
plt.show()

rcParams的属性

中文字体的种类

rcParams['font.family']

实例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'STSong'
matplotlib.rcParams['font.size'] = 20
a = np.arange(0.0, 5.0, 0.02)
plt.xlabel('横轴:时间')
plt.ylabel('纵轴:振幅')
plt.plot(a, np.cos(2*np.pi*a), 'r--')
plt.show()

注意:第一种方法是全局改变字体的大小,不是很推荐使用

pyplot的中文显示的第二种方法(推荐使用)

有中文输出的地方,添加一个属性:fontproperties

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0, 5.0, 0.02)
plt.xlabel('横轴:时间', fontproperties='SimHei', fontsize=20)
plt.ylabel('纵轴:振幅', fontproperties='SimHei', fontsize=20)
plt.plot(a, np.cos(2*np.pi*a), 'r--')
plt.show()

pyplot的子绘图区域

复杂的绘图区域

plt.subplot2gird()

plt.subplot2gird(GirdSpec, CurSpec, colspan=1, rowspan=1)

理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始


GirdSpec类

单元小结

Matplotlib库入门

pyplot子库的基本使用

pyplot图形绘制

Matplotlib(一)的更多相关文章

  1. python安装numpy、scipy和matplotlib等whl包的方法

    最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...

  2. matplotlib 高级用法实例--共享x轴

    http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...

  3. Python matplotlib笔记

    可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟 ...

  4. Matplotlib——第一章轻松画个图

    首先安装matplotlib,使用pip install matplotlib.安装完成后在python的命令行敲入import matplotlib,如果没问题,说明安装成功可以开始画图了. 看好了 ...

  5. win7系统下python安装numpy,matplotlib,scipy和scikit-learn

    1.安装numpy,matplotlib,scipy和scikit-learn win7系统下直接采用pip或者下载源文件进行安装numpy,matplotlib,scipy时会遇到各种问题,这是因为 ...

  6. 【转】使用Python matplotlib绘制股票走势图

    转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...

  7. 【Python数据分析】四级成绩分布 -matplotlib,xlrd 应用

    最近获得了一些四级成绩数据,大概500多个,于是突发奇想是否能够看看这些成绩数据是否满足所谓的正态分布呢?说干就干,于是有了这篇文章.文章顺带介绍了xlrd模块的一些用法和matplotlib画自定义 ...

  8. 【Matplotlib】详解图像各个部分

    首先一幅Matplotlib的图像组成部分介绍. 在matplotlib中,整个图像为一个Figure对象.在Figure对象中可以包含一个或者多个Axes对象.每个Axes(ax)对象都是一个拥有自 ...

  9. Matplotlib 学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...

  10. python 下 tinker、matplotlib 混合编程示例一个

    该例是实现了 Tinker 嵌入 matplotlib 所绘制的蜡烛图(k 线),数据是从 csv 读入的.花一下午做的,还很粗糙,仅供参考.python 代码如下: import matplotli ...

随机推荐

  1. java中接口,抽象类,具体类之间的关系

    抽象类实现接口,具体类继承于抽象类

  2. < Python全景系列-9 > Python 装饰器:优雅地增强你的函数和类

    欢迎来到我们的系列博客<Python全景系列>第九篇!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还 ...

  3. JVM源码分析:深入剖析java.c文件中JavaMain方法中InitializeJVM的实现

    经过前文<从JDK源码级深入剖析main方法的运行机制>的分析,我们知道了实现JavaMain方法的四个主要步骤: 初始化Java虚拟机 加载主运行类 通过加载的主运行类,获取main方法 ...

  4. 前端树形结构图treeShapeStruct,可拖拽移动,点击展开收缩,无限添加子集

    快速实现树形结构图,可拖拽移动,点击展开收缩,无限添加子集; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12650 效果图如 ...

  5. Java String、StringBuilder、StringBuffer类

    1.String类 创建字符串对象后,字符串对象不可以发生改变,并且这个字符串对象存储在方法区中的字符串常量池中. 即使想改变字符串对象,那么也只是在字符串常量池中重新创建了一个字符串对象而已. 2. ...

  6. JavaCV的摄像头实战之十二:性别检测

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...

  7. Hexo博客Yilia主题添加相册功能,丰富博客内容,Next等其他主题可以参考

    实现思路 1.在主页上必须有一个可供点击的相册连接 2.要用 hexo 生成一个photos.html文件 3.photos.html中的图片数据来源?因为这是一个静态页面所有要有一个 json文件 ...

  8. CS144 LAB5~LAB6

    CS144 lab5~6 最后两个lab了,虽然很多大佬都说剩下的两个lab比起TCP的实现,"简直太简单了",但是我认为做这两个之前需要补充一些额外的网络知识,不然直接上手去做的 ...

  9. switch写法详解

    我们在开发项目中经常遇到对数据的判断进行相应的逻辑(if..else  ,三元运算等),Switch 语句用来选择多个需要执行的代码块 ,一定程度上简化了if....else 1. 语法 switch ...

  10. 统一观测丨使用 Prometheus 监控 Cassandra 数据库最佳实践

    作者:元格 本篇内容主要包括四部分:Cassandra 概览介绍.常见关键指标解读.常见告警规则解读.如何通过 Prometheus 建立相应监控体系. Cassandra 简介 Cassandra ...