📜  绘制分类数据 matplotlib (1)

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

绘制分类数据 matplotlib

介绍

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_gradegirls_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_gradegirls_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 绘制分类数据的图表,包括基本条形图、堆积条形图、水平条形图和散点图。这些图表都非常有用,可以帮助我们更好地理解数据并支持数据分析和决策。