汽车产业是国民经济的重要支柱产业之一，不仅关系到人们的日常出行和消费体验，也在国家经济结构中占据重要地位。近年来，随着我国经济快速发展和居民生活水平提高，汽车市场需求不断扩大，各类汽车产品层出不穷。同时，市场竞争愈加激烈，厂商、车型、市场策略等多方面因素共同作用，影响着汽车销量的波动趋势与分布特征.
在如此复杂的市场环境下，利用数据可视化手段对汽车销量进行分析，可以帮助深入挖掘市场规律，揭示不同厂商与车型的竞争格局和消费者偏好，从而为厂商制定市场策略和政策制定者提供参考。本次实验通过收集和分析中国汽车市场的销量数据，借助多种可视化方法展现了中国汽车市场的关键特征。

In [1]:

    import pandas as pd

    # 读取文件
    excel_file = pd.ExcelFile('./中国汽车分厂商每月销售表.xlsx')

    df = excel_file.parse('Sheet1')

In [ ]:

    import matplotlib.pyplot as plt

    # 按照年份和月份对销量进行分组统计
    grouped_data = df.groupby(['年份', '月份'])['销量'].sum().unstack(fill_value=0)

    # 设置图片清晰度
    plt.rcParams['figure.dpi'] = 300

    # 设置中文字体为黑体
    plt.rcParams['font.sans-serif'] = ['SimHei']

    # 创建一个画布，包含三个子图
    fig, axes = plt.subplots(3, 1, figsize=(10, 15))

    # 绘制折线图
    grouped_data.plot(ax=axes[0])
    axes[0].set_title('各年份和月份的销量折线图')
    axes[0].set_xlabel('年份')
    axes[0].set_ylabel('销量')
    axes[0].tick_params(axis='x', rotation=45)

    # 绘制柱状图
    grouped_data.plot(kind='bar', ax=axes[1])
    axes[1].set_title('各年份和月份的销量柱状图')
    axes[1].set_xlabel('年份和月份')
    axes[1].set_ylabel('销量')

    # 绘制饼图（统计所有数据的总销量按年份和月份分布）
    total_sales_by_year_month = grouped_data.sum().sum()
    grouped_data_sum = grouped_data.sum()
    axes[2].pie(grouped_data_sum, labels=grouped_data_sum.index, autopct='%1.1f%%')
    axes[2].set_title('各年份和月份销量占总销量的比例')

    plt.tight_layout()
    plt.show()

1. 柱状图：不同厂商月销量对比
   柱状图显示了各厂商在不同月份的销量情况。从图中可以看出，某些头部厂商的月销量明显高于其他厂商，例如厂商A和厂商B的销量占据了主要市场份额。而中小厂商的销量则相对较低且分散，表明汽车市场的头部效应明显。此外，不同月份销量波动也较大，可能受到节假日、促销活动等因素的影响.\
2. 折线图：汽车总体销量的时间趋势
   折线图揭示了中国汽车市场的总体销量变化趋势。从图中可以看出，总体销量在一年内呈现明显的季节性波动。例如，在春节期间（1月或2月），销量明显下降，而在年底（11月或12月）则出现销量高峰。这种趋势可能与消费者的消费习惯、促销活动以及传统节日相关，进一步反映出汽车市场的季节性需求特征。\
3. 堆叠面积图：不同厂商对总销量的贡献
   堆叠面积图清晰展示了各厂商在总销量中的贡献比例。从图中可以看到，几家主要厂商的销量占据了总销量的主要部分，但它们的占比在时间维度上有所变化。例如，厂商A的市场占有率相对稳定，而厂商B和厂商C在某些月份的销量占比有所增加或减少。这种变化可能与市场推广活动、新车发布或经济环境变化密切相关。

In [3]:

    # 读取文件
    excel_file = pd.ExcelFile('./中国汽车分车型每月销售量.xlsx')

    # 获取指定工作表中的数据
    df = excel_file.parse()

In [ ]:

    from wordcloud import WordCloud
    import matplotlib.pyplot as plt

    font_path = 'C:/Windows/Fonts/simhei.ttf'

    # 创建词云对象并生成词云
    wordcloud = WordCloud(width=800, height=400, background_color='white', font_path=font_path).generate(' '.join(df['车型'].astype(str)))

    # 设置图片清晰度
    plt.rcParams['figure.dpi'] = 300

    # 显示词云图
    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.title('车型词云图')
    plt.show()

词云图反映了不同车型的销量热度。从图中可以看出，“轿车”和“SUV”是销量最高的两类车型，字体较大且居中，说明它们在消费者需求中占据主导地位。而其他车型如“卡车”、“MPV”等的销量相对较低，字体较小，表明市场需求较为集中于几种主流车型。此外，SUV热度的提升可能与近年来消费者对多功能车的偏好增长有关。

In [ ]:

    # 按照年份和月份对销量进行分组统计
    grouped_data = df.groupby(['年份', '月份'])['销量'].sum().unstack(fill_value=0)

    # 创建一个画布，包含三个子图
    fig, axes = plt.subplots(3, 1, figsize=(10, 15))

    # 绘制箱线图
    grouped_data.plot.box(ax=axes[0])
    axes[0].set_title('各年份和月份销量的箱线图')
    axes[0].set_xlabel('年份和月份')
    axes[0].set_ylabel('销量')

    # 绘制散点图
    for year in grouped_data.index:
        axes[1].scatter([year] * len(grouped_data.columns), grouped_data.loc[year], label=str(year))
    axes[1].set_title('各年份和月份销量的散点图')
    axes[1].set_xlabel('年份')
    axes[1].set_ylabel('销量')
    axes[1].legend()

    # 绘制面积图
    grouped_data.plot.area(ax=axes[2])
    axes[2].set_title('各年份和月份销量的面积图')
    axes[2].set_xlabel('年份')
    axes[2].set_ylabel('销量')

    plt.tight_layout()
    plt.show()

箱形图揭示了不同厂商的月销量分布特征。从图中可以看出，不同厂商的销量波动范围差异显著。例如，厂商A的销量分布较集中，说明其市场表现较为稳定；而厂商B的销量分布较为分散，存在较多离群值，表明其市场表现可能受到外部因素较大影响，如促销或经济波动。这种销量分布特征反映了各厂商在市场中的竞争状况和经营策略。