python制作统计图(5)

该博客通过分析笔记本信息.csv数据,利用Python的pandas库按价格区间划分数据,计算各区间内的平均屏幕尺寸和平均制程工艺,并绘制并列条形图。结果显示了不同价位段笔记本的屏幕平均尺寸和制程工艺的分布情况,揭示了价格与这两项配置的相关性。
摘要由CSDN通过智能技术生成

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

制作并列条形图

探究价格与屏幕尺寸,制程工艺的相关性

新建方法

def parallel_bar_chart():

读取表格

df = pd.read_csv("笔记本信息.csv", encoding='gb18030')
        # print(df[['参考报价', '屏幕尺寸(单位:英寸)', '制程工艺(单位nm)']])

按照价格区间将数据分为六部分

		first = df.where(df['参考报价'] < 10000).dropna()
        second = df.where((df['参考报价'] >= 10000) & (df['参考报价'] < 20000)).dropna()
        third = df.where((df['参考报价'] >= 20000) & (df['参考报价'] < 30000)).dropna()
        fourth = df.where((df['参考报价'] >= 30000) & (df['参考报价'] < 40000)).dropna()
        fifth = df.where((df['参考报价'] >= 40000) & (df['参考报价'] < 50000)).dropna()
        sixth = df.where((df['参考报价'] >= 50000) & (df['参考报价'] <= 60000)).dropna()

将六部分数据中的平均尺寸存为一个列表

average_size = [first['屏幕尺寸(单位:英寸)'].mean(), second['屏幕尺寸(单位:英寸)'].mean(),
                        third['屏幕尺寸(单位:英寸)'].mean(), fourth['屏幕尺寸(单位:英寸)'].mean(),
                        fifth['屏幕尺寸(单位:英寸)'].mean(), sixth['屏幕尺寸(单位:英寸)'].mean()]

将六部分数据中的平均制程工艺存为一个列表

average_technology = [first['制程工艺(单位nm)'].mean(), second['制程工艺(单位nm)'].mean(),
                              third['制程工艺(单位nm)'].mean(), fourth['制程工艺(单位nm)'].mean(),
                              fifth['制程工艺(单位nm)'].mean(), sixth['制程工艺(单位nm)'].mean()]

价格区间作为横坐标

price = ["<1W", "1W~2W", "2W~3W", "3W~4W", "4W~5W", "5W~6W"]

作图

	plt.figure(figsize=(18, 12), dpi=300)
    plt.style.use('ggplot')
    bar_width = 0.3  # 条形宽度
    index_average_size = pd.np.arange(len(price))  # 平均尺寸条形图的横坐标
    index_average_technology = index_average_size + bar_width  # 平均制程工艺条形图的横坐标

    # 使用两次 bar 函数画出两组条形图
    plt.bar(index_average_size, height=average_size, width=bar_width, color='b', label='平均尺寸(单位:英寸)')
    plt.bar(index_average_technology, height=average_technology, width=bar_width, color='g', label='平均制程工艺(单位:nm)')
    plt.xticks(fontsize=25)
    plt.yticks(fontsize=25)

    plt.ylim([10, 18])  # 设置纵坐标范围

    plt.legend(bbox_to_anchor=(0.38, 1.015), fontsize=25)  # 显示图例
    plt.xticks(index_average_size + bar_width / 2, price)  # 让横坐标轴刻度显示价格区间, index_male + bar_width/2 为横坐标轴刻度的位置
    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、付费专栏及课程。

余额充值