Matplotlib基础--简单散点图

Matplotlib基础--简单散点图

1. 介绍

Matplotlib是一个用于创建2D图表和绘图的Python库。它是Python最流行的可视化库之一,可以轻松地创建各种各样的图表,包括线图、条形图、饼图以及散点图等。本文将详细介绍如何利用Matplotlib库创建简单散点图。

2. 准备工作

在开始之前,我们需要准备一些数据来创建散点图。假设我们有一些关于一个城市的温度数据,我们想要将这些数据可视化出来。首先,我们需要导入必要的库:

import matplotlib.pyplot as plt

import numpy as np

接下来,我们创建一个numpy数组来表示温度数据,以及一个等长的数组来表示时间。

temperature = np.array([25, 28, 30, 32, 35, 34, 31, 29, 27, 26])

time = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

3. 创建散点图

有了数据之后,我们可以开始绘制散点图了。使用Matplotlib库的scatter函数可以很方便地实现:

plt.scatter(time, temperature)

plt.show()

运行这段代码,将会显示出一个简单的散点图。x轴表示时间,y轴表示温度,每个点表示一个温度数据。这样我们可以更直观地看到温度随时间的变化趋势。

4. 自定义散点图

上面的散点图看起来比较简单,并没有添加任何自定义的样式。我们可以通过传递一些参数来自定义散点图的样式。

4.1 设置点的颜色和大小

我们可以通过传递c参数来指定每个点的颜色,通过s参数来指定每个点的大小。例如,我们可以把温度高于30度的点设置为红色,大小为100:

colors = np.where(temperature > 30, 'red', 'blue')

sizes = np.where(temperature > 30, 100, 30)

plt.scatter(time, temperature, c=colors, s=sizes)

plt.show()

在上面的例子中,使用where函数根据温度的大小来决定颜色和大小的值。

4.2 设置标题和坐标轴标签

我们还可以给散点图添加标题和坐标轴标签,使其更加完整和易读。

plt.scatter(time, temperature, c=colors, s=sizes)

plt.title('Temperature Changes Over Time')

plt.xlabel('Time')

plt.ylabel('Temperature')

plt.show()

通过调用title函数,xlabel函数和ylabel函数,我们可以设置相应的文本内容。

4.3 添加图例

如果我们有多组数据需要显示,可以使用图例来标记不同的数据。可以通过调用legend函数来创建图例,并使用label参数来指定每组数据对应的标签。

temperature_2 = np.array([23, 26, 27, 29, 33, 32, 30, 28, 26, 24])

plt.scatter(time, temperature, c=colors, s=sizes, label='Temperature 1')

plt.scatter(time, temperature_2, c='green', s=50, label='Temperature 2')

plt.legend()

plt.title('Temperature Changes Over Time')

plt.xlabel('Time')

plt.ylabel('Temperature')

plt.show()

上面的例子中,我们添加了一个新的温度数据temperature_2,给它设置了不同的颜色和大小,并添加了一个图例来标记这两组数据。

5. 总结

本文介绍了如何使用Matplotlib库创建简单散点图,包括准备数据、绘制散点图以及自定义散点图的样式。通过创建散点图,我们可以更直观地展示数据之间的关系,并更好地理解其变化趋势。

需要注意的是,本文中的温度数据和时间数据都是随机生成的,并没有实际意义。在实际应用中,我们需要根据需要准备相应的数据,并按照实际情况进行绘图。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签