什么是 Matplotlib?
Matplotlib是Python中最流行的2D绘图库,可以创建各种静态、动态和交互式可视化图表。它提供了类似MATLAB的绘图接口,广泛应用于数据分析和科学计算领域。
Matplotlib 的安装
如果您的系统上已经安装了Python和PIP ,那么 Matplotlib 的安装就非常容易。
使用命令安装它:C:\Users\Your Name>pip install matplotlib
导入Matplotlib Pyplot
大多数 Matplotlib 实用程序位于pyplot
子模块下,通常以别名导入plt
:
import matplotlib.pyplot as plt
什么是 NumPy?
NumPy 是一个用于处理数组的 Python 库。它还具有线性代数、傅里叶变换和矩阵领域的功能。
为什么使用 NumPy?
在 Python 中,我们有列表作为数组的用途,但它们的处理速度很慢。NumPy 旨在提供比传统 Python 列表快 50 倍的数组对象。
NumPy 中的数组对象被称为ndarray
,它提供了很多支持函数,使得它比list更快、更高效! 🚀
NumPy 的安装
如果您的系统上已经安装了Python和PIP ,那么安装 NumPy 就非常容易。
使用命令安装它:C:\Users\Your Name>pip install numpy
导入 NumPy
NumPy 通常以别名导入np
import numpy as np
下面我们就可以用matplotlib简单绘图了 :
直线图:
import matplotlib.pyplot as plt
import numpy as np
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
plt.plot(xpoints, ypoints)
plt.show()
您还可以使用xlabel()
和 ylabel()
函数为 x 轴和 y 轴设置标签。
import numpy as np
import matplotlib.pyplot as plt
x = np.array([80, 85, 90, 95, 100, 105, 110, 115, 120, 125])
y = np.array([240, 250, 260, 270, 280, 290, 300, 310, 320, 330])
plt.plot(x, y)
plt.xlabel("Average Pulse")
plt.ylabel("Calorie Burnage")
plt.show()
您可以使用grid()
函数向图中添加网格线。(可以使用函数grid()中的参数axis
来指定要显示哪些网格线。合法值为:'x'、'y' 和 'both'。默认值为 'both'。)
import numpy as np
import matplotlib.pyplot as plt
x = np.array([80, 85, 90, 95, 100, 105, 110, 115, 120, 125])
y = np.array([240, 250, 260, 270, 280, 290, 300, 310, 320, 330])
plt.title("Sports Watch Data")
plt.xlabel("Average Pulse")
plt.ylabel("Calorie Burnage")
plt.plot(x, y)
plt.grid()
plt.show()
除了设置标签和网格线,你甚至可以使用关键字参数marker
来用指定的标记强调每个点:
import matplotlib.pyplot as plt
import numpy as np
#不设置xpoints,则默获得默认值 0、1、2、3 等,具体取决于 y 点的长度
ypoints = np.array([3, 8, 1, 10])
plt.plot(ypoints, marker = 'o')
plt.show()
以及使用关键字参数linestyle
来更改绘制线的样式, 比如使用虚线:
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([3, 8, 1, 10])
plt.plot(ypoints, linestyle = 'dotted')
plt.show()
与直线图类似, matplotlib提供了画各种图的函数
子图:
subplot() 函数
该subplot()
函数采用三个参数来描述图形的布局。布局按行和列组织,由第一个 和第二个参数表示。第三个参数代表当前图的索引
import matplotlib.pyplot as plt
import numpy as np
#子图1
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 1)
plt.plot(x,y)
#子图2
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(2, 3, 2)
plt.plot(x,y)
#子图3
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 3)
plt.plot(x,y)
#子图4
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(2, 3, 4)
plt.plot(x,y)
#子图5
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 5)
plt.plot(x,y)
#子图6
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(2, 3, 6)
plt.plot(x,y)
plt.show()
散点图:
scatter()
函数
该scatter()
函数为每个观测值绘制一个点。它需要两个长度相同的数组,一个用于存储 x 轴的值,另一个用于存储 y 轴的值:
import matplotlib.pyplot as plt
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)
plt.show()
条形图:
bar()
函数:
第一个 和第二个参数以数组形式表示的类别及其值
import matplotlib.pyplot as plt
import numpy as np
x = np.array(["A", "B", "C", "D"])
y = np.array([3, 8, 1, 10])
plt.bar(x,y)
plt.show()
直方图:
hist()
函数
该hist()
函数将使用一个数字数组来创建直方图,该数组作为参数发送到函数中
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(170, 10, 250)
plt.hist(x)
plt.show()
饼图:
pie()
函数:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)#使用labels参数给每个楔形添加标签
plt.legend(title = "Four Fruits:")#使用legend()函数为每个楔形添加解释列表,title参数用于添加解释列表标题
plt.show()
Matplotlib是数据可视化的“瑞士军刀”。无论是学术研究还是商业分析,它都能将枯燥数据转化为直观洞见。动手实践是学习的最佳途径——从修改一个图表颜色开始,逐步构建你的可视化武器库吧!
📌 你的支持是我创作的动力!如果本文对你有帮助,欢迎点赞⭐️收藏🌟关注💖