python制作统计图(4)

该博客展示了如何使用Python统计并制作笔记本电脑屏幕尺寸的饼状图。通过读取'笔记本信息.csv'文件,将尺寸小于100英寸的归为'其他'类别,然后利用matplotlib库创建饼状图,详细展示了各尺寸的占比情况,最终保存为'笔记本屏幕尺寸分布饼状图.png'。
摘要由CSDN通过智能技术生成

注:如需所用表格数据,可在本人主页资源栏内直接下载

制作饼状图

统计电脑屏幕尺寸占比

新建方法

def pie_chart():

读取表格

    with open(r'笔记本信息.csv', encoding='gb18030'):
        df = pd.read_csv("笔记本信息.csv", encoding='gb18030')
        lis = df['屏幕尺寸(单位:英寸)'].value_counts()
        size_list = lis.keys().tolist()
        nums_list = lis.values.tolist()

数量小于100的尺寸都记为其他

		other = 0
        while len(size_list) > 4:
            if nums_list[4] < 100:
                other = other + nums_list[4]
                del nums_list[4]
                del size_list[4]
        size_list.append("其他")
        nums_list.append(other)
        # print(size_list)
        # print(nums_list)

以下为一个错误方法

		# 将数据存入字典,便于操作
        # sizes_nums = {}
        # for i in range(0, 26):
        #     sizes_nums[size_list1[i]] = nums_list1[i]
        # print(sizes_nums)
        # # 数量小于50的尺寸都记为其他
        # other = 0
        # for size_num in sizes_nums:
        #     if sizes_nums[size_num] < 50:
        #         other = other + sizes_nums[size_num]
        #         del sizes_nums[size_num]              ×
        # sizes_nums["其他"] = other
        # print(sizes_nums)
        # 迭代中不能改变字典的大小,以上方法作废

作图

		plt.figure(figsize=(18, 12), dpi=300)
        plt.style.use('ggplot')
        labels = size_list
        X = nums_list
        explode = (0.01, 0.01, 0.01, 0.01, 0.01)
        plt.pie(X, explode=explode,                             # 数据
                labels=labels,                                  # 数据对应的标签
                autopct='%1.2f%%',                              # 百分数保留两位小数点
                textprops={'size': 30, 'weight': 'bold'},       # 设置字体大小并加粗
                shadow=None,                                    # 无阴影设置
                startangle=-50)                                 # 旋转角度
        plt.title("笔记本屏幕尺寸分布饼状图(单位:英寸)", fontdict={'fontsize': 40, 'weight': 'bold'})
        plt.savefig("笔记本屏幕尺寸分布饼状图.png", dpi=300)
        plt.show()

成品图

成品如下图所示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值