任务要求:
需求一: 图例用4列展示
需求二: 表格填充你喜欢的任意颜色
需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。
提示:不建议使用pycharm来做实验(超出绘图区域的范围会看不到,除非你调整窗口视野),最好使用jupyter notebook来做实验例:
目录
前言
matplotlib
是一个用于绘制数据可视化的 Python 库。它提供了丰富的绘图工具和函数,使用户能够创建各种类型的图表、图形和可视化。
matplotlib
的设计灵感来自于 MATLAB,因此它的接口和用法与 MATLAB 相似,使得从 MATLAB 迁移到 matplotlib
相对容易。
matplotlib
提供了多个子模块,其中最常用的是 pyplot
,它提供了类似于 MATLAB 的绘图函数和命令风格的接口。通过 pyplot
,您可以创建线图、散点图、柱状图、饼图、直方图等各种常见的图表类型。
除了 pyplot
,matplotlib
还提供了其他子模块,如 pylab
、mplot3d
、image
等,用于处理不同类型的数据和绘制不同类型的图形。
matplotlib
的特点包括:
-
灵活性:
matplotlib
提供了广泛的选项和参数,使用户能够自定义图表的各个方面,包括线条样式、颜色、标签、标题、图例等。 -
多种输出格式:
matplotlib
可以将图表保存为多种格式,如图片文件(PNG、JPEG、SVG)、PDF 文件等。 -
交互式支持:
matplotlib
可以与交互式环境(如 Jupyter Notebook)配合使用,使用户能够在绘图过程中进行交互和探索。 -
大量的文档和示例:
matplotlib
提供了详细的文档和丰富的示例库,可以帮助用户学习和使用库的各种功能。 -
您可以通过以下方式安装
matplotlib
:pip install matplotlib
一、matplotlib.pyplot
是什么?
matplotlib.pyplot
是一个用于创建可视化和绘图的 Python 库。它是 matplotlib
库的一部分,提供了广泛的绘图功能。
二、根据需求完成任务要求
1.导入模块
#导入模块
import matplotlib.pyplot as plt
#设置中文属性
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
2.通过pie中的各项属性绘制饼图
kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
plt.pie(weight, autopct='%3.1f%%')
注意:
kinds,weight都是列表(list)用于装储数据
autopct:表示控制扇形或楔形的数值显示的字符串,可通过格式字符串指定小数点后的位数
3.添加图例
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.35,0.85],ncol=4)
(通过bbox_to_anchor精细调整图例位置)
使用pyplot模块的legend()函数添加图例
bbox_to_anchor参数(精细)用于控制图例的布局
bbox_to_anchor=[控制水平(值大偏右),控制垂直(值大偏上)]
loc参数(粗略)控制图例在图表的位置
位置编码 | 位置字符串 | 说明 |
0 | best | 自适应 |
1 | upper right | 右上方 |
2 | upper left | 左上方 |
3 | lower left | 左下方 |
4 | lower right | 右下方 |
5 | right | 右方 |
6 | center left | 中心偏左 |
7 | center right | 中心偏右 |
8 | lower center | 中心偏下 |
9 | upper center | 中心偏上 |
10 | center | 居中 |
ncol参数表示图例的列数,在此中设置列数为4
4.添加表格
(通过bbox精细调整表格位置和大小)
table = plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'],
colLabels=kinds,loc='left',bbox=[1.2,0.35,1,0.25])
#通过遍历的方法使每个单元格的背景颜色设置为粉色
for cell in table.properties()['children']:
cell.set_facecolor('pink')
使用pyplot模块的table()函数添加表格
cellText : 表示表格单元格中的数据,是一个二维列表
cellLoc :表示单元格文本的对齐方式,支持'left'、'right'、'center' 三种取值,默认值为'right'
rowLabels : 表示行标题的文本
colLabels : 表示列标题的文本
bbox=[边界框左上角的 x 坐标,边界框左上角的 y 坐标,边界框右下角的 x 坐标,边界框右下角的 y 坐标]
5.运行结果
plt.show()
三、运行全部代码
#导入模块
import matplotlib.pyplot as plt
#设置中文属性
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
plt.pie(weight, autopct='%3.1f%%')
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.35,0.85],ncol=4)
table = plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'],
colLabels=kinds,loc='left',bbox=[1.2,0.35,1,0.25])
#通过遍历的方法使每个单元格的背景颜色设置为粉色
for cell in table.properties()['children']:
cell.set_facecolor('pink')
plt.show()
总结
matplotlib.pyplot
是 matplotlib
库中的一个子模块,用于创建可视化和绘图。它提供了类似于 MATLAB 的绘图函数和命令风格的接口,使用户能够轻松创建各种类型的图表和可视化。
要使用 matplotlib.pyplot
,通常需要使用以下代码导入它:
import matplotlib.pyplot as plt
一旦导入,您可以使用 pyplot
提供的各种函数来创建和定制图表,以及显示它们。以下是 pyplot
常用的功能和方法:
plot()
: 创建线图或散点图。bar()
: 创建柱状图。hist()
: 创建直方图。scatter()
: 创建散点图。pie()
: 创建饼图。imshow()
: 显示图像。xlabel()
,ylabel()
,title()
: 设置坐标轴标签和标题。legend()
: 添加图例。xlim()
,ylim()
: 设置坐标轴的范围。grid()
: 显示网格线。savefig()
: 将图表保存为文件。
除了上述功能,pyplot
还提供了许多其他函数和选项,用于自定义图表的外观、样式和布局。
通过 pyplot
,您可以创建各种类型的图表,包括线图、散点图、柱状图、饼图、直方图等。您可以使用不同的参数和选项来调整图表的样式、颜色、标签等。
最后,使用 plt.show()
函数可以显示创建的图表。
matplotlib.pyplot
是一个功能强大且灵活的工具,适用于数据可视化和绘图任务。它的文档和示例丰富,可以帮助您更好地了解和使用该库。