Matplotlib的简单使用

  1. Matplotlib的简介和安装

  2. Matplotlib是Python的绘图库。它可与Numpy一起使用,提供了一种有效的MatLab开源替代方案。它也可以和图形工具包一起使用,如PyQt和wxPython。

  3. pip安装Matplotlib:
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
  • Linux系统也可以使用Linux包管理器来安装:
  • Debain/Ubantu:
sudo apt-get install python-matplotlib
  • Fedora/Redhat:
sudo yum install python-matplotlib
  • 安装完后,你可以使用下面命令来查看是否安装了matplotlib模块:
python -m pip list

pip list
  1. Matplotlib的简单使用

1. 简单实例

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1, 11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y)
plt.show()

运行结果:

Matplotlib的简单使用
  • 以上示例中,np.arange()函数创建x轴上的值。y轴上的对应值存储在另一个数组对象y中。这些值使用matplotlib软件包的pyplot子模块的plot()函数绘制。
  • 图形由show()函数显示。

2. 图形上显示中文(下载字体)

import numpy as np
from matplotlib import pyplot as plt
import matplotlib

zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf")

x = np.arange(1, 11)
y = 2 * x + 5
plt.title("测试", fontproperties=zhfont1)

plt.xlabel("x轴", fontproperties=zhfont1)
plt.ylabel("y轴", fontproperties=zhfont1)
plt.plot(x, y)
plt.show()

运行效果如下:

Matplotlib的简单使用
  • 此外,我们还可以使用系统的字体。

3. 图形上显示中文(使用系统字体)

from matplotlib import pyplot as plt
import matplotlib
a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
    print(i)

plt.rcParams['font.family']=['STFangsong']

import numpy as np
x = np.arange(1, 11)
y = 2 * x + 5
plt.title("测试")

plt.xlabel("x轴")
plt.ylabel("y轴")
plt.plot(x, y)
plt.show()

运行结果如下:

Matplotlib的简单使用

4. 可向plot()函数添加的格式化字符

  • 作为线形图的替代,可以通过向plot()函数添加格式化字符串来显示离散值。可以使用以下格式化字符:

字符描述’-‘实线样式’–’短横线样式’-.’点划线样式’:’虚线样式’.’点标记’,’像素标记’o’圆标记’v’倒三角标记’^’正三角标记’

5. 颜色的缩写

字符颜色’b’蓝色’g’绿色’r’红色’c’青色’m’品红色’y’黄色’k’黑色’w’白色

6. 用点替换线条

  • 要显示圆来代表点,而不是上面示例中的线,需要使用ob作为plot()函数中的格式字符串。
import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1, 11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y, "ob")
plt.show()

运行结果如下:

Matplotlib的简单使用

7. 绘制正弦波

  • 以下示例使用matplotlib生成正弦波图。
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
plt.title("sine wave form")

plt.plot(x, y)
plt.show()

运行结果如下:

Matplotlib的简单使用

8. subplot()

  • subplot()函数允许你在同一图中绘制不同的东西。

示例:绘制正弦和余弦值


import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)

plt.subplot(2, 1, 1)

plt.plot(x, y_sin)
plt.title('Sine')

plt.subplot(2, 1, 2)
plt.plot(x, y_cos)
plt.title('Cosine')

plt.show()

运行结果:

Matplotlib的简单使用

9. bar()

  • pyplot子模块提供bar()函数来生成条形图。
  • 以下示例生成两组x和y的条形图。
from matplotlib import pyplot as plt
x = [5, 8, 10]
y = [12, 16, 6]
x2 = [6, 9, 11]
y2 = [6, 15, 7]
plt.bar(x, y, align='center')
plt.bar(x2, y2, color='g', align='center')
plt.title('Bar graph')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()

运行结果如下:

Matplotlib的简单使用

10. numpy.histogram()

  • numpy.histogram()函数是数据的频率分布的图形表示。水平尺寸相等的矩形对应于类间隔,称为bin,变量height对应于频率。
  • numpy.histogram()函数将输入数组和bin作为两个参数。bin数组中的连续元素用作每个bin的边界。
import numpy as np

a = np.array([22, 87, 5, 43, 56, 73, 55, 54, 11, 20, 51, 5, 79, 31, 27])
np.histogram(a, bins=[0, 20, 40, 60, 80, 100])
hist, bins = np.histogram(a, bins=[0, 20, 40, 60, 80, 100])
print(hist)
print(bins)

运行结果:

[3 4 5 2 1]
[  0  20  40  60  80 100]

11. plt()

  • matplotlib可以将直方图的数字表示转换为图形。pyplot子模块的plt()函数将包含数据和bin数组作为参数,并转换为直方图。
from matplotlib import pyplot as plt
import numpy as np

a = np.array([22, 87, 5, 43, 56, 73, 55, 54, 11, 20, 51, 5, 79, 31, 27])
plt.hist(a, bins=[0, 20, 40, 60, 80, 100])
plt.title("histogram")
plt.show()

运行结果:

Matplotlib的简单使用

参考文章:
https://www.runoob.com/numpy/numpy-matplotlib.html

更多教程:
https://www.runoob.com/matplotlib/matplotlib-tutorial.html

https://www.runoob.com/w3cnote/matplotlib-tutorial.html

Original: https://blog.csdn.net/ungoing/article/details/127577632
Author: Lvcx
Title: Matplotlib的简单使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/769239/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【无标题】

    首先,利用python来做游戏需要用到python中的pygame模块,这个我们在终端cmd中安装输入:pip install pygame 安装好后我们进入pycharm查询我们…

    Python 2023年9月21日
    039
  • Python+Selenium+Pytest+Allure+Jenkins

    Jenkins环境搭建 1.安装python 2.安装pytest 3.jdk的安装及环境变量配置 4.在服务器上配置好allure及环境变量,使用# allure –…

    Python 2023年9月9日
    045
  • xml的学习和使用python解析读取xml文件

    XML的介绍 XML 指可扩展标记语言(EXtensible Markup Language)。 和json类似也是用于存储和传输数据,还可以用作配置文件。 类似于HTML超文本标…

    Python 2023年8月2日
    048
  • 2-Allure的使用

    文章目录 * – Allure简介 – Allure环境搭建 – Allure使用示例 – Allure层级的设置 – …

    Python 2023年9月12日
    056
  • Python Pytest数据驱动测试DDT

    前言 数据驱动测试是自动化测试非常重要的原则。一般进行接口测试时,一般会考虑正向、逆向等多种组合case,而这些case除了传参和预期不同外,其实并没什么区别。这个时候就可以利用数…

    Python 2023年9月9日
    036
  • python外星人入侵小项目(六)

    python外星人入侵小项目(一)python外星人入侵小项目(二)python外星人入侵小项目(三)python外星人入侵小项目(四)python外星人入侵小项目(五) 创建第一…

    Python 2023年9月25日
    057
  • Scrapy与redis的结合(Scrapy 分布式)

    一 ,Scrapy-分布式 (1)什么是scrapy_redis scrapy_redis:Redis-based components for scrapy github地址:h…

    Python 2023年10月3日
    040
  • 前端利器躬行记(8)——VSCode插件研发

    最重要的就是 extension.js 和 package.json,前者会实现插件的核心功能,后者包括插件的配置信息。 2)调试 选择 run =》 Start Debuggin…

    Python 2023年10月23日
    045
  • .net如何优雅的使用EFCore

    EFCore是微软官方的一款ORM框架,主要是用于实体和数据库对象之间的操作。功能非常强大,在老版本的时候叫做EF,后来.net core问世,EFCore也随之问世。本文我们将用…

    Python 2023年10月14日
    034
  • checkbox勾选带动画

    csharp;gutter:true; Checkbox复选框动画效果</p> <pre><code> Morning Noon Afterno…

    Python 2023年6月10日
    070
  • 可视化常见绘图(五)散点图

    可视化常见绘图(五)散点图 一.散点图简介 散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上, 以显示变量之间的相互影响程度,点的位置由变量的数值决定。 通过观察…

    Python 2023年9月6日
    064
  • conda创建虚拟环境命令、jupyter notebook启动打开和使用

    一、conda创建虚拟环境命令步骤 1.1创建虚拟环境命令 首先使用conda -V命令检查是否已安装Anaconda,这里安装步骤省略 打开终端运行以下前两个命令,即可创建 1….

    Python 2023年9月8日
    0178
  • Python中的异常处理总结

    错误Error: 原因 示例 笔误 像变量名写错,造成的语法错误 逻辑错误 算法写错了,例如原本逻辑是求和,但写成了乘积 函数或者类使用错误 这类也归为逻辑错误 写代码时,错误是可…

    Python 2023年10月29日
    055
  • Yolov5 + Deepsort 重新训练自己的数据(保姆级超详细)

    从下面github库中拿代码: 下载好匹配的deeosort和yolov5代码很重要,题主折腾了一天,坑在版本上了!! 题主用的deeosort v3.0和yolov5 5.0版本…

    Python 2023年7月31日
    051
  • python pygame模块按键延迟_Pygame程序中的奇怪延迟

    我在pygame中运行一个小游戏,在主循环的每次迭代之间需要一个恒定的延迟。虽然我把FPS数锁定在60pygame.Clock.tick\u busy\u循环(),我观察到延迟的变…

    Python 2023年9月22日
    048
  • Pycharm远程调试显示图片,TkAGG报错问题排查

    使用Pycharm 远程调试程序很方便,但是plt无法显示图片。 可以参考Pycharm远程连接服务器并显示图片_牛仔不感冒的博客-CSDN博客 以下是最近使用matplotlib…

    Python 2023年9月1日
    066
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球