欢迎访问宙启技术站
智能推送

Matplotlib中的常用绘图函数

发布时间:2023-05-30 23:08:16

Matplotlib是Python中最常用的数据可视化库之一,它提供了一系列的函数和绘图选项,使得我们可以方便地绘制各种类型的图形,包括线图、散点图、柱状图、饼图、热力图、等高线图等等。本文将介绍Matplotlib中的一些常用绘图函数,包括以下几个方面。

1. 设置图形的大小和分辨率

在绘制图形前,我们可以通过设置figure函数的figsize参数来指定图形的大小,例如:

import matplotlib.pyplot as plt

plt.figure(figsize=(8,6))

同时,我们还可以设置dpi参数来指定图形的分辨率,例如:

import matplotlib.pyplot as plt

plt.figure(figsize=(8,6), dpi=100)

2. 绘制线图

绘制线图是Matplotlib中最常见的任务之一,可以通过plot函数来实现。例如,下面的代码绘制了一个简单的线图:

import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5], [1,4,9,16,25])
plt.show()

可以通过修改plot函数的参数来设置线型、颜色、标记等等,例如:

import matplotlib.pyplot as plt

x = range(10)
y = [i**2 for i in x]

plt.plot(x, y, 'ro--')  # 红色,圆形标记,虚线
plt.show()

3. 绘制散点图

绘制散点图也是Matplotlib中常见的任务之一,可以通过scatter函数来实现。例如,下面的代码绘制了一个简单的散点图:

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [1,4,9,16,25]

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

同样可以通过修改scatter函数的参数来设置颜色、大小、标记等等,例如:

import matplotlib.pyplot as plt

x = range(10)
y = [i**2 for i in x]

plt.scatter(x, y, c='r', s=100, marker='o')
plt.show()

4. 绘制柱状图

绘制柱状图通常用于展示不同类别的数据之间的比较,可以通过bar函数来实现。例如,下面的代码绘制了一个简单的柱状图:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 32, 12, 8]

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

同样可以通过修改bar函数的参数来设置颜色、宽度、边框等等,例如:

import matplotlib.pyplot as plt
import numpy as np

x = ['A', 'B', 'C', 'D', 'E']
y = [10, 24, 32, 12, 8]
colors = ['r', 'g', 'b', 'y', 'm']

plt.bar(x, y, color=colors, width=0.5, edgecolor='k')
plt.xticks(np.arange(len(x)), x)
plt.show()

5. 绘制饼图

绘制饼图可以用来展示不同类别数据所占比例,可以通过pie函数来实现。例如,下面的代码绘制了一个简单的饼图:

import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 25, 10, 20]

plt.pie(sizes, labels=labels)
plt.show()

同样可以通过修改pie函数的参数来设置颜色、阴影、标签、起始角度等等,例如:

import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 25, 10, 20]
colors = ['r', 'g', 'b', 'y', 'm']

plt.pie(sizes, labels=labels, colors=colors, shadow=True, startangle=90)
plt.axis('equal')
plt.show()

6. 绘制热力图

绘制热力图通常用于展示二维数据的密度分布情况,可以通过imshow函数来实现。例如,下面的代码绘制了一个简单的热力图:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10, 10)

plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.show()

同样可以通过修改imshow函数的参数来设置颜色、插值算法、坐标轴等等,例如:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10, 10)

plt.imshow(data, cmap='cool', interpolation='bicubic')
plt.colorbar(label='Range')
plt.xticks(np.arange(10), ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'])
plt.yticks(np.arange(10), ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'])
plt.title('Heatmap')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

7. 绘制等高线图

绘制等高线图通常用于展示二维数据的高度分布情况,可以通过contourcontourf函数来实现。例如,下面的代码绘制了一个简单的等高线图:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 500)
y = np.linspace(-5, 5, 500)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

plt.contour(X, Y, Z, cmap='cool')
plt.colorbar()
plt.show()

同样可以通过修改contour函数的参数来设置颜色、标签、线型等等,例如:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 500)
y = np.linspace(-5, 5, 500)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

plt.contour(X, Y, Z, cmap='cool', levels=20, linewidths=0.5)
plt.colorbar(label='Height')
plt.clabel(fmt='%.1f')
plt.xticks(np.arange(-5, 6, 1))
plt.yticks(np.arange(-5, 6, 1))
plt.title('Contour Map')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

以上就是Matplotlib中的一些常用绘图函数,当然还有其他更多的函数可以探索。在实际使用时,可以根据数据的特点和需求选择合适的绘图函数和参数,以达到 的可视化效果。