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. 使用numpy计算分子内坐标

    技术背景 当我们打开一个用于表示分子构象的xyz文件或者pdb文件,很容易可以理解这种基于笛卡尔坐标的空间表征方法.但是除了笛卡尔坐标表示方法之外,其实也有很多其他的方法用于粗粒化或者其他目的的表征方 ...

  2. 沉思篇-剖析JetPack的Lifecycle

    这几年,对于Android开发者来说,最时髦的技术当属Jetpack了.谷歌官方从19年开始,就在极力推动Jetpack的使用,经过这几年的发展,Jetpack也基本完成了当时的设计目标--简单,一致 ...

  3. chatgpt入口,免费在线chatgpt--与人工智能聊天?尝试chatgpt入口,免费在线chatgpt吧!

    介绍一款人工智能聊天机器人--chatgpt入口 chatgpt是一款智能聊天机器人,它能够与人类进行自然语言对话,可以回答问题.提供建议,还可以玩游戏和聊天互动,是当前最受欢迎的人工智能聊天工具之一 ...

  4. 22.04.1 wine8.10 完美安装同花顺最新版THS_9.20.40_20230613

    Linux luma 5.19.0-45-generic #46~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 7 15:06:04 UTC 20 x86_64 ...

  5. 「学习笔记」vector

    本文并不是 vector 的入门教程. 定义 std::vector 是封装动态数组的顺序容器. vector 通常占用多于静态数组的空间,因为要分配更多内存以管理将来的增长.如果元素数量已知,可以使 ...

  6. Taurus .Net Core 微服务开源框架:Admin 插件【4-3】 - 配置管理-Mvc【Plugin-MicroService 微服务】

    前言: 继上篇:Taurus .Net Core 微服务开源框架:Admin 插件[4-2] - 配置管理-Mvc[含请求日志打印] 本篇继续介绍下一个内容: 1.系统配置节点:Mvc - Plugi ...

  7. PostgreSQL 12 文档: PostgreSQL 服务端程序

    PostgreSQL 服务器应用   这一部分包含PostgreSQL服务器应用和支持工具的参考信息.这些命令只在数据库服务器所在的主机上运行才有用.其他工具程序在PostgreSQL 客户端应用中列 ...

  8. go网络编程(一)

    [B站最深度的Golang学习到实战 up主强力推荐] https://www.bilibili.com/video/BV1TK4y1a7ex/?p=101&share_source=copy ...

  9. 春节无法线下社交聚会,来线上“一起X”共享体验

    引语: 共享体验或许是全真互联网时代最显著的标志. 被疫情深刻改变的一年里,人们的社交关系和社交活动正在发生巨大的改变. 一方面,从线下转线上,我们能通过互联网连接更多的人,参与各种形式的社交活动,将 ...

  10. 关于 async 和 await 两个关键字(C#)【并发编程系列】

    〇.前言 对于 async 和 await 两个关键字,对于一线开发人员再熟悉不过了,到处都是它们的身影. 从 C# 5.0 时代引入 async 和 await 关键字,我们使用 async 修饰符 ...