Python可视化: Matplotlib

什么是 Matplotlib?

Matplotlib是Python中最流行的2D绘图库,可以创建各种静态、动态和交互式可视化图表。它提供了类似MATLAB的绘图接口,广泛应用于数据分析和科学计算领域。

Matplotlib 的安装

如果您的系统上已经安装了PythonPIP ,那么 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 的安装

如果您的系统上已经安装了PythonPIP ,那么安装 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是数据可视化的“瑞士军刀”。无论是学术研究还是商业分析,它都能将枯燥数据转化为直观洞见。动手实践是学习的最佳途径——从修改一个图表颜色开始,逐步构建你的可视化武器库吧!

📌 你的支持是我创作的动力!如果本文对你有帮助,欢迎点赞⭐️收藏🌟关注💖

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值