📅  最后修改于: 2023-12-03 15:27:34.138000             🧑  作者: Mango
Matplotlib 是一个 Python 的绘图库,用于创建静态、动态和交互式可视化图表。它可以绘制各种类型的图表,包括线图、散点图、柱状图、饼图、3D 图等等。
在本文中,我们将重点介绍如何使用 Matplotlib 绘制分类数据的图表,包括条形图、堆积条形图、水平条形图和散点图。
基本条形图用于绘制单一类别的数据。例如,我们可以使用以下代码绘制国家名和 GDP 之间的条形图。
import matplotlib.pyplot as plt
country = ['USA', 'China', 'India', 'Russia', 'Japan']
GDP = [21.44, 14.14, 2.87, 1.58, 5.15]
plt.bar(country, GDP)
plt.xlabel("Country")
plt.ylabel("GDP")
plt.title("GDP by Country")
plt.show()
可以看到,我们使用 plt.bar()
函数绘制条形图,其中 country
作为 x 轴,GDP
作为 y 轴。然后,我们为图表添加一个标题 GDP by Country
,以及 x 轴和 y 轴标签。最后,我们使用 plt.show()
函数将图表显示出来。
堆积条形图用于绘制多个类别的数据,并将它们堆叠在一起,以显示它们之间的总和。例如,我们可以使用以下代码绘制男孩和女孩之间的成绩条形图。
import matplotlib.pyplot as plt
boys_grade = [80, 63, 86, 71, 77]
girls_grade = [89, 67, 92, 80, 81]
subjects = ['Math', 'Science', 'English', 'History', 'Music']
plt.bar(subjects, boys_grade, label="Boys")
plt.bar(subjects, girls_grade, bottom=boys_grade, label="Girls")
plt.xlabel("Subject")
plt.ylabel("Grade")
plt.title("Grades by Subject and Gender")
plt.legend()
plt.show()
可以看到,我们使用 plt.bar()
函数绘制两个条形图,其中 boys_grade
和 girls_grade
作为 y 轴,而 subjects
作为 x 轴。然后,我们为图表添加一个标题 Grades by Subject and Gender
,以及 x 轴和 y 轴标签。最后,我们使用 plt.legend()
函数添加一个图例,并使用 bottom
参数将两个条形图堆叠。
水平条形图用于绘制多个类别的数据,并将它们水平排列。例如,我们可以使用以下代码绘制男孩和女孩之间的成绩水平条形图。
import matplotlib.pyplot as plt
boys_grade = [80, 63, 86, 71, 77]
girls_grade = [89, 67, 92, 80, 81]
subjects = ['Math', 'Science', 'English', 'History', 'Music']
plt.barh(subjects, boys_grade, label="Boys")
plt.barh(subjects, girls_grade, left=boys_grade, label="Girls")
plt.xlabel("Grade")
plt.ylabel("Subject")
plt.title("Grades by Subject and Gender")
plt.legend()
plt.show()
可以看到,我们使用 plt.barh()
函数绘制两个水平条形图,其中 boys_grade
和 girls_grade
作为 x 轴,而 subjects
作为 y 轴。然后,我们为图表添加一个标题 Grades by Subject and Gender
,以及 x 轴和 y 轴标签。最后,我们使用 plt.legend()
函数添加一个图例,并使用 left
参数将两个水平条形图水平排列。
散点图用于绘制两个变量之间的关系。例如,我们可以使用以下代码绘制身高和体重之间的散点图。
import matplotlib.pyplot as plt
height = [175, 165, 170, 180, 185, 175, 170, 165, 170, 180]
weight = [70, 55, 60, 80, 90, 65, 60, 55, 60, 75]
plt.scatter(height, weight)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.title("Height vs. Weight")
plt.show()
可以看到,我们使用 plt.scatter()
函数绘制散点图,其中 height
作为 x 轴,而 weight
作为 y 轴。然后,我们为图表添加一个标题 Height vs. Weight
,以及 x 轴和 y 轴标签。最后,我们使用 plt.show()
函数将图表显示出来。
以上是如何使用 Matplotlib 绘制分类数据的图表,包括基本条形图、堆积条形图、水平条形图和散点图。这些图表都非常有用,可以帮助我们更好地理解数据并支持数据分析和决策。