Python 画图:饼图,箱线图

饼图

饼图(pie char)是一个划分为几个扇形的圆形统计图表,一般用于描述频率或百分比之间的相对关系。在饼图中,每个扇区的弧长(以及圆心角和面积)的大小与其所表示的数量呈固定比例。画饼图使用 pyplot 中的pie函数,它的基本语法如下:

pie(x, expode=None, labels=None, autopic=None, **kwargs)
x数组,每个扇区的比例
expode 可选参数,数组,每个扇区突出的大小
labels 可选参数,字符串数组,每个扇区的标签
autopct可选参数,字符串或函数,每个扇区显示的数字样式
**kwargs可选参数,定义其他属性,例如扇区阴影 shadow,起始角度 startangle 等

# 导入工具包
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontManager # 调用 matplotlib 中的字体,用于显示中文

# 这两行代码使得 pyplot 画出的图形中可以显示中文
plt.rcParams['font.sans-serif'] = ['Heiti TC'] # 黑体, 宋体:'Songti SC'
plt.rcParams['axes.unicode_minus'] = False

labels = ['果汁', '矿泉水', '绿茶', '其他', '碳酸饮料']
x = [6, 10, 11, 8, 15]
explode = [0, 0.1, 0, 0, 0]  # 突出显示第二个扇区

plt.pie(x, explode=explode, labels=labels, autopct='%.2f%%', shadow=True, startangle=90)
plt.legend()  # 显示标签
plt.show()

在这里插入图片描述

箱线图

箱线图(box plot)是一种用来显示数据统计分布情况的图形,包括数据的最大值、最小值、中位数、分位数等特征。画箱线图使用 pyplot 中的boxplot函数,它的基本语法如下:

boxplot(x, notch=false, vert=false, **kwargs)
x输入数据
notch 可选参数,是否为锯齿状的箱线图
vert 箱线图是否为竖直,否则为水平
**kwargs可选参数,定义其他属性

假设有下面的学生成绩单:

课程学生A学生B学生C学生D学生E学生F学生G学生H学生I学生J学生K
英语7690977170938683788581
西方经济学9381768866798392788678
市场营销学7487856990807784917470
财务管理6875708473607681886875
统计学5591687384817069946271

画出它们的箱线图如下:

# 导入工具包
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontManager # 调用 matplotlib 中的字体,用于显示中文

# 这两行代码使得 pyplot 画出的图形中可以显示中文
plt.rcParams['font.sans-serif'] = ['Heiti TC'] # 黑体, 宋体:'Songti SC'
plt.rcParams['axes.unicode_minus'] = False

scores = [[76, 90, 97, 71, 70, 93, 86, 83, 78, 85, 81],
         [93, 81, 76, 88, 66, 79, 83, 92, 78, 86, 78],
         [74, 87, 85, 69, 90, 80, 77, 84, 91, 74, 70],
         [68, 75, 70, 84, 73, 60, 76, 81, 88, 68, 75],
         [70, 73, 92, 65, 78, 87, 90, 70, 66, 79, 68],
         [55, 91, 68, 73, 84, 81, 70, 69, 94, 62, 71]]
courses = ('英语', '西方经济学', '市场营销学', '财务管理', '基础会计学', '统计学')

plt.boxplot(scores,vert=False)
plt.yticks(np.arange(1, 7), courses) # 更改横坐标刻度为课程名字
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态与习惯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值