Matplotlib绘制点线图

Matplotlib绘制点线图

Matplotlib绘制点线图

1. 导入matplotlib库

在使用matplotlib绘制点线图之前,首先需要导入matplotlib库。示例代码如下:

import matplotlib.pyplot as plt

2. 绘制简单的点线图

接下来,我们可以绘制一个简单的点线图,示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, marker='o')
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个简单的点线图,横坐标为x,纵坐标为y,点的形状为圆圈。

3. 自定义点线图的样式

我们可以通过设置不同的参数来自定义点线图的样式,比如线条颜色、线条宽度、点的形状等。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, color='r', linestyle='--', marker='s', markersize=10)
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一条红色虚线,点的形状为正方形的点线图。

4. 添加标题和标签

我们可以通过添加标题和标签来更好地说明点线图的含义。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, marker='o')
plt.title('Prime Numbers')
plt.xlabel('Index')
plt.ylabel('Value')
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个带有标题和标签的点线图,标题为”Prime Numbers”,横坐标标签为”Index”,纵坐标标签为”Value”。

5. 绘制多条线

除了绘制单条线外,我们还可以绘制多条线。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]

plt.plot(x, y1, marker='o', label='Prime Numbers')
plt.plot(x, y2, marker='s', label='Square Numbers')
plt.legend()
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到同时显示两条线的点线图,并在图例中标明每条线的含义。

6. 绘制散点图

除了点线图外,我们还可以绘制散点图。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.scatter(x, y, color='r', marker='o')
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个红色圆圈的散点图。

7. 绘制带有颜色映射的散点图

我们可以通过设置不同的颜色映射来显示不同的数据。示例代码如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = 1000 * np.random.rand(100)

plt.scatter(x, y, c=colors, s=sizes, alpha=0.5, cmap='viridis')
plt.colorbar()
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个带有颜色映射的散点图,颜色和大小根据数据的不同而变化。

8. 绘制柱状图

除了点线图和散点图外,我们还可以绘制柱状图。示例代码如下:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y = [20, 35, 30, 25, 40]

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

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个简单的柱状图,横坐标为’A’, ‘B’, ‘C’, ‘D’, ‘E’,纵坐标为对应的数值。

9. 绘制水平柱状图

我们还可以绘制水平柱状图,示例代码如下:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y = [20, 35, 30, 25, 40]

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

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个水平的柱状图,横坐标为对应的数值,纵坐标为’A’, ‘B’, ‘C’, ‘D’, ‘E’。

10. 绘制堆叠柱状图

我们可以绘制堆叠柱状图来比较不同类别的数据。示例代码如下:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y1 = [20, 35, 30, 25, 40]
y2 = [15, 30, 25, 20, 35]

plt.bar(x, y1, label='Group 1')
plt.bar(x, y2, bottom=y1, label='Group 2')
plt.legend()
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个堆叠的柱状图,分别表示两组数据在不同类别上的比较。

11. 绘制饼图

除了柱状图外,我们还可以绘制饼图来展示数据的占比。示例代码如下:

import matplotlib.pyplot as plt

sizes = [30, 20, 15, 35]

plt.pie(sizes, labels=['A', 'B', 'C', 'D'], autopct='%1.1f%%')
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个简单的饼图,显示了各个类别数据的占比。

12. 绘制雷达图

我们还可以绘制雷达图来展示多个变量之间的关系。示例代码如下:

import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D', 'E']
values = [20, 30, 25, 35, 40]

angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False).tolist()

values += values[:1]
angles += angles[:1]

plt.polar(angles, values)
plt.fill(angles, values, 'b', alpha=0.1)
plt.show()

运行以上代码,可以得到一个雷达图,展示了各个变量之间的关系。

13. 绘制箱线图

箱线图可以用来展示数据的分布情况,示例代码如下:

import matplotlib.pyplot as plt

data = [np.random.normal(0, std, 100) for std in range(1, 4)]

plt.boxplot(data)
plt.show()

运行以上代码,可以得到一个箱线图,展示了数据的分布情况。

14. 绘制热力图

import matplotlib.pyplot as plt

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

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

运行以上代码,可以得到一个热力图,颜色深浅表示数据的大小。

15. 绘制3D点线图

除了2D图形外,我们还可以绘制3D点线图。示例代码如下:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

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

ax.plot(x, y, z, marker='o')
plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个3D点线图,展示了三维数据的关系。

16. 绘制3D散点图

我们还可以绘制3D散点图来展示三维数据的分布情况。示例代码如下:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
colors = np.random.rand(100)
sizes = 1000 * np.random.rand(100)

ax.scatter(x, y, z, c=colors, s=sizes, alpha=0.5, cmap='viridis')
plt.colorbar()
plt.show()

运行以上代码,可以得到一个3D散点图,展示了三维数据的分布情况。

17. 绘制3D曲面图

除了点线图和散点图外,我们还可以绘制3D曲面图。示例代码如下:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))

ax.plot_surface(x, y, z, cmap='viridis')
plt.show()

运行以上代码,可以得到一个3D曲面图,展示了一个二维函数在三维空间中的曲面。

18. 绘制子图

我们可以将多个图形放在同一个画布上,形成子图。示例代码如下:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 2)

x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]

axs[0, 0].plot(x, y1)
axs[0, 1].scatter(x, y2)
axs[1, 0].bar(x, y1)
axs[1, 1].pie([20, 30, 25, 35], labels=['A', 'B', 'C', 'D'], autopct='%1.1f%%')

plt.show()

代码运行结果:

Matplotlib绘制点线图

运行以上代码,可以得到一个包含四个子图的画布,每个子图展示了不同类型的图形。

19. 保存图形

最后,我们可以将绘制的图形保存为图片文件。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, marker='o')
plt.savefig('plot.png')

运行以上代码,可以将绘制的点线图保存为名为’plot.png’的图片文件。

通过以上示例代码,我们详细介绍了如何使用matplotlib库绘制点线图,并展示了不同类型的图形和样式。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程