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)

大家都在看

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