1. Matplotlib简介
Matplotlib是Python中最流行的数据可视化库之一,可创建各种静态、动态、交互式和文本图形。该库主要用于2D图形库绘制,但也支持3D图形绘制。Matplotlib可以创建基本图形,如折线图、散点图、条形图、直方图等,还可以自定义图形,如填充色、中心标签等。
Matplotlib具有广泛的应用场景,包括数据探索、数据呈现、报告制作、科学研究等。由于Matplotlib的强大可定制性和易用性,该库被许多用户和数据科学家广泛使用。
2. Matplotlib绘图基础知识
2.1 基本绘图函数
Matplotlib中最常用的绘图函数为plot()函数。plot()函数用于绘制折线图、散点图、条形图等基本图形。在调用plot()函数时,通常需要传递以下两个参数:
x轴数据
y轴数据
例如,在下面的代码中,我们向plot()函数传递了由0到4范围内的整数列表作为x轴数据,由平方数列表作为y轴数据:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
plt.show()
此代码将在屏幕上显示一条从(0,0)到(4,16)的线段,如下图所示:
2.2 自定义绘图元素属性
除了基本绘图函数外,Matplotlib还提供了各种属性来自定义绘图元素,例如颜色、线型、标记、标签、标题等。这些属性可以用于使绘图更具可读性,同时凸显数据趋势和重点。
2.2.1 颜色属性
在Matplotlib中,颜色指定可以用颜色名称、缩写或RGB值表示。例如,我们可以将线条颜色设置为红色,以使其更加醒目:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y, color='r')
plt.show()
此代码将在屏幕上显示一条红色的线段。
2.2.2 线型属性
可以使用linestyle参数设置线条的样式。Matplotlib支持多种类型的线型,如实线、虚线、点线、点划线等。例如,我们可以将线条样式设置为点线:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y, linestyle='--')
plt.show()
此代码将在屏幕上显示一条点线样式的直线。
2.2.3 标记属性
标记是指在曲线上标记数据点的符号。可以使用marker参数指定标记样式。Matplotlib支持多种数据标记,如圆圈、正方形、三角形、菱形、星形等。例如,我们可以将数据点标记设置为蓝色正方形:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y, marker='s', color='b')
plt.show()
此代码将在屏幕上显示一个蓝色正方形的数据点标记。
2.2.4 标签属性
标签是指图形上显示数据的文本标签,可以使用xlabel()和ylabel()函数来设置x和y轴标签。例如,我们可以将x轴标签设置为“X”:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
plt.xlabel('X')
plt.show()
此代码将在屏幕上显示一条带有x轴标签“X”的直线。
2.2.5 标题属性
可以使用title()函数来设置图形的标题。例如,我们可以将标题设置为“My plot”:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
plt.title('My plot')
plt.show()
此代码将在屏幕上显示一条带有标题“My plot”的直线。
2.3 常用绘图类型
2.3.1 折线图
折线图是显示连续数据之间关系的最常用图形之一。可以使用plot()函数来创建折线图。例如,下面的代码绘制了一个简单的折线图:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
plt.show()
此代码将在屏幕上显示一条从(0,0)到(4,16)的线段,如下图所示:
2.3.2 散点图
散点图用于显示两个连续型变量之间的关系。可以使用scatter()函数来创建散点图。例如,下面的代码绘制了一个简单的散点图:
import matplotlib.pyplot as plt
import random
x = [random.random() for _ in range(10)]
y = [random.random() for _ in range(10)]
plt.scatter(x, y)
plt.show()
此代码将在屏幕上显示一个包含10个随机点的散点图,如下图所示:
2.3.3 条形图
条形图用于显示不同类别或组之间的数量比较。可以使用bar()函数来创建条形图。例如,下面的代码绘制了一个简单的条形图:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [3, 5, 2, 6, 8]
plt.bar(x, y)
plt.show()
此代码将在屏幕上显示一个包含5个组的条形图,如下图所示:
3. 设置温度参数
可以使用set_cmap()函数来设置色图参数,从而决定绘图的颜色。可以调整set_cmap()函数中的参数值以更改绘图的色彩度和饱和度。例如,在下面的代码中,我们将温度参数设置为0.6:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-0.5, 0.5, 100)
y = np.linspace(-0.5, 0.5, 100).reshape(-1, 1)
z = np.sin(np.sqrt(x ** 2 + y ** 2))
plt.imshow(z, cmap=plt.cm.hot, interpolation='nearest')
plt.colorbar()
plt.title('surface')
plt.set_cmap('coolwarm')
plt.show()
由于无法为此设置创建一张图表,因此我们无法直接看到图表。但是,我们可以通过将set_cmap()函数应用于plt.imshow()函数来更改绘图的色彩。