📌  相关文章
📜  Matplotlib-图形类(1)

📅  最后修改于: 2023-12-03 15:17:35.663000             🧑  作者: Mango

Matplotlib-图形类

Matplotlib是一个强大的Python绘图工具,并支持众多的可视化形式。其中,图形类是Matplotlib最为核心和基础的部分,通过调用它们的方法和属性,我们就可以快速地创建各种样式和风格的图形。

Figure和Axes

在Matplotlib中,最重要的两个图形类是Figure和Axes。其中,Figure表示我们绘制的整个图形对象,而Axes则表示图形中的坐标系或图像。在绘制图形时,我们通常先创建一个Figure对象,再在其中创建一个或多个Axes对象,然后通过调用Axes对象的方法添加各种图像元素,如线条、散点、矩形、文本等。

Markdown代码片段:

## Figure和Axes

在Matplotlib中,最重要的两个图形类是Figure和Axes。其中,Figure表示我们绘制的整个图形对象,而Axes则表示图形中的坐标系或图像。在绘制图形时,我们通常先创建一个Figure对象,再在其中创建一个或多个Axes对象,然后通过调用Axes对象的方法添加各种图像元素,如线条、散点、矩形、文本等。
常见图形的创建和展示

Matplotlib可以绘制的图形类型非常丰富,包括线性图、散点图、柱状图、饼图等。接下来我们将展示如何使用Axes类的方法创建和展示这些图形。

线性图

Line2D类是用来绘制线性图的,我们可以使用它的plot()方法来添加线条。例如,在一个坐标系中画出正弦函数的线性图可以使用以下代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

注:这里使用了numpy库中的linspace函数生成了0到2π之间的100个等距的采样点,然后计算出这些采样点上的正弦函数值,最后使用plot()方法将其绘制出来。

上述代码生成的图像如下:

线性图

Markdown代码片段:

### 线性图

Line2D类是用来绘制线性图的,我们可以使用它的plot()方法来添加线条。例如,在一个坐标系中画出正弦函数的线性图可以使用以下代码:

```python
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

注:这里使用了numpy库中的linspace函数生成了0到2π之间的100个等距的采样点,然后计算出这些采样点上的正弦函数值,最后使用plot()方法将其绘制出来。


### 散点图

Scatter类用来绘制散点图,我们可以使用它的scatter()方法绘制多组数据的散点图,例如下面的代码可以绘制两组随机生成的点集:

```python
import numpy as np
import matplotlib.pyplot as plt

x1 = np.random.rand(50)
y1 = np.random.rand(50)
x2 = np.random.rand(50)
y2 = np.random.rand(50)

fig, ax = plt.subplots()
ax.scatter(x1, y1, color='b')
ax.scatter(x2, y2, color='r')

plt.show()

上述代码生成的图像如下:

散点图

Markdown代码片段:

### 散点图

Scatter类用来绘制散点图,我们可以使用它的scatter()方法绘制多组数据的散点图,例如下面的代码可以绘制两组随机生成的点集:

```python
import numpy as np
import matplotlib.pyplot as plt

x1 = np.random.rand(50)
y1 = np.random.rand(50)
x2 = np.random.rand(50)
y2 = np.random.rand(50)

fig, ax = plt.subplots()
ax.scatter(x1, y1, color='b')
ax.scatter(x2, y2, color='r')

plt.show()

### 柱状图

Bar类用来绘制柱状图,我们可以使用它的bar()方法绘制多组数据的柱状图,例如下面的代码可以绘制两组随机生成的柱状图:

```python
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(4)
y1 = np.random.rand(4)
y2 = np.random.rand(4)

fig, ax = plt.subplots()
ax.bar(x, y1, color='b', width=0.3)
ax.bar(x + 0.3, y2, color='r', width=0.3)

plt.show()

上述代码生成的图像如下:

柱状图

Markdown代码片段:

### 柱状图

Bar类用来绘制柱状图,我们可以使用它的bar()方法绘制多组数据的柱状图,例如下面的代码可以绘制两组随机生成的柱状图:

```python
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(4)
y1 = np.random.rand(4)
y2 = np.random.rand(4)

fig, ax = plt.subplots()
ax.bar(x, y1, color='b', width=0.3)
ax.bar(x + 0.3, y2, color='r', width=0.3)

plt.show()

### 饼图

Pie类用来绘制饼图,我们可以使用它的pie()方法绘制多组数据的饼图,例如下面的代码可以绘制两组随机生成的饼图:

```python
import matplotlib.pyplot as plt

sizes = [15, 30, 45, 10]
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
explode = (0, 0.1, 0, 0)

fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=colors, colors=colors,
        autopct='%1.1f%%', startangle=90)

plt.axis('equal')
plt.show()

上述代码生成的图像如下:

饼图

Markdown代码片段:

### 饼图

Pie类用来绘制饼图,我们可以使用它的pie()方法绘制多组数据的饼图,例如下面的代码可以绘制两组随机生成的饼图:

```python
import matplotlib.pyplot as plt

sizes = [15, 30, 45, 10]
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
explode = (0, 0.1, 0, 0)

fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=colors, colors=colors,
        autopct='%1.1f%%', startangle=90)

plt.axis('equal')
plt.show()

## 小结

Matplotlib的图形类是Matplotlib非常重要的一部分,我们可以通过这些类创建各种样式和风格的图形。本文主要介绍了常见的四种图形类型:线性图、散点图、柱状图和饼图,并给出了相应的代码片段。在实际开发过程中,我们需要根据具体的需求选择相应的类和方法来创建所需的图形。