# matplotlib中文网 https://www.matplotlib.org
# 需求一: 图例用4列展示
# 需求二: 表格填充你喜欢的任意颜色
# 需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。
# 提示:不建议使用pycharm来做实验(超出绘图区域的范围会看不到,除非你调整窗口视野),最好使用jupyter notebook来做实验
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%%')
# 添加图例(通过bbox_to_anchor精细调整图例位置),loc图例表中的位置,bbox_to_anchor接受两个数的元组,第一个控制图例的水平位置,值也大图例越右,第二个垂直位置,值越大越偏上。
# ncol意为设置图例分为n列展示。
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.2, 0.8], ncol=4)
# 添加表格(通过bbox精细调整表格位置和大小),cellText 表示单元格的数据,是一个二维数组。 cellLoc单元格文本对齐方式,cellColours单元格的背景颜色,
# rowColours行标题背景颜色,colColours列标题背景颜色, bbox= [xmin, ymin, width, height],
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds, loc='right',
cellColours=[['pink'] * 8], rowColours=['pink'],
colColours=['pink', 'pink', 'pink', 'pink', 'pink', 'pink', 'pink', 'pink'], bbox=[1.25, 0.25, 1, 0.25])
plt.show()
使用pylot模块的legend()函数添加图例和table()函数添加表格
最新推荐文章于 2024-03-18 21:53:46 发布