📜  图 vs 绘图 matplotlib - Python (1)

📅  最后修改于: 2023-12-03 14:50:48.760000             🧑  作者: Mango

图 vs 绘图 matplotlib - Python

在编程中,我们通常需要使用图形来呈现数据和结果,这时候图形库就显得尤为重要了。Python中有许多图形库可供选择,其中最流行的是matplotlib。在本篇文章中,我们将介绍如何使用matplotlib库来进行绘图。

matplotlib 简介

matplotlib是Python中最受欢迎的绘图库之一,它是一个2D绘图库,可以绘制各种类型的图形,包括线图、散点图、直方图、等高线图、热图等。

安装matplotlib

在使用matplotlib之前,需要确保已经安装了它。使用pip命令可以方便地安装matplotlib:

pip install matplotlib
绘制折线图

折线图是一种展示数据变化趋势的图形。下面的代码使用matplotlib库来绘制一条折线:

import matplotlib.pyplot as plt

# 模拟数据
x = [1, 2, 3, 4, 5]
y = [3, 4, 2, 8, 7]

# 绘制折线
plt.plot(x, y)

# 展示图形
plt.show()

上述代码中,首先使用import语句导入matplotlib.pyplot库,然后定义了两个列表xy作为模拟数据,接着使用plot函数绘制折线,最后使用show函数展示图形。

结果如下图所示:

绘制散点图

散点图是一种展示数据分布情况的图形。下面的代码使用matplotlib库来绘制一个散点图:

import matplotlib.pyplot as plt

# 模拟数据
x = [1, 2, 3, 4, 5]
y = [3, 4, 2, 8, 7]

# 绘制散点图
plt.scatter(x, y)

# 展示图形
plt.show()

上述代码中,首先使用import语句导入matplotlib.pyplot库,然后定义了两个列表xy作为模拟数据,接着使用scatter函数绘制散点图,最后使用show函数展示图形。

结果如下图所示:

绘制直方图

直方图是一种展示数据分布情况的图形。下面的代码使用matplotlib库来绘制一个直方图:

import matplotlib.pyplot as plt
import numpy as np

# 模拟数据
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)

# 绘制直方图
plt.hist(x, 50, density=True, facecolor='g', alpha=0.75)

# 添加标题与坐标轴标签
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')

# 添加文字说明
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])

# 展示图形
plt.show()

上述代码中,首先使用import语句导入matplotlib.pyplot库和numpy库,然后使用numpy库生成10000个随机数作为模拟数据,接着使用hist函数绘制直方图并设置参数,接着使用text函数添加文字说明,最后使用show函数展示图形。

结果如下图所示:

绘制等高线图

等高线图是一种展示数据分布情况的图形。下面的代码使用matplotlib库来绘制一个等高线图:

import matplotlib.pyplot as plt
import numpy as np

# 模拟数据
def f(x, y):
    return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 - y**2)
    
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y)

# 绘制等高线图
plt.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap='jet')
C = plt.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)
plt.clabel(C, inline=True, fontsize=10)

# 展示图形
plt.show()

上述代码中,首先使用import语句导入matplotlib.pyplot库和numpy库,然后使用numpy库生成模拟数据,接着使用contourf函数绘制等高线图,并设置参数,最后使用show函数展示图形。

结果如下图所示:

绘制热图

热图是一种展示数据分布情况的图形。下面的代码使用matplotlib库来绘制一个热图:

import matplotlib.pyplot as plt
import numpy as np

# 模拟数据
n = 20
X, Y = np.meshgrid(np.linspace(-3, 3, n), np.linspace(-3, 3, n))
Z = np.sin(X**2 + Y**2)

# 绘制热图
plt.imshow(Z, interpolation='nearest', cmap=plt.cm.hot)
plt.colorbar()

# 展示图形
plt.show()

上述代码中,首先使用import语句导入matplotlib.pyplot库和numpy库,然后使用numpy库生成模拟数据,接着使用imshow函数绘制热图,并设置参数,最后使用show函数展示图形。

结果如下图所示:

结论

在本篇文章中,我们介绍了使用matplotlib库绘制折线图、散点图、直方图、等高线图和热图的方法,希望读者能够掌握这些技能,为编程中的数据可视化工作提供方便。