洞察数据之美:用可视化探索销售与温度的关系

devtools/2024/10/25 12:50:14/

目录

  • 数据可视化
  • 1.气温数据可视化
    • 图片展示
    • 将最高和最低气温合并绘制折线图:
      • 将最高和最低气温合并绘制散点图:
  • 2.销售数据可视化
    • 几种常见的销售数据可视化方法及其适用场景:
    • 图片展示
      • 通过热力图和堆叠柱状图的直观展示,可以得出以下结论:
  • 总结

数据可视化

在这里插入图片描述

是通过图形展示数据的一种方式,能够帮助我们快速理解数据的内在规律和趋势。整个数据可视化流程可以分为以下几个步骤:

获取数据:数据可能来自不同的来源,比如文件(CSV、Excel)、数据库、API 等。数据通常会存储为结构化或非结构化的形式。

数据清洗:实际数据通常会有缺失值、不一致的格式等问题。在可视化之前,我们需要清理数据,处理缺失值、异常值,确保数据质量。

选择合适的图表类型:根据数据类型和分析目的,选择适合的数据可视化图表。常见的图表类型有折线图、柱状图、散点图、热力图等。

绘制图表:使用编程语言和数据可视化工具来生成图表。在 Python 中,常用的可视化工具有 Matplotlib、Seaborn 等。

解释结果:通过图表直观地展示数据的趋势、分布或关系,从而得出结论并做出决策。


1.气温数据可视化

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.family' ] = 'Arial Unicode MS'np.random.seed(0)
dates = pd.date_range(start='2024-03-01',periods=31,freq='D')
temperature1 = (31,30,31,32,35,35,36,35,31,33,30,25,29,25,30,34,36,38,32,34,31,35,35,31,35,36,31,32,36,35,29,)
plt.figure(figsize=(16, 6))
temperature2 = (20,25,22,26,19,19,29,19,19,19,15,19,21,19,19,21,26,27,19,19,30,28,29,19,19,21,34,23,19,19,20)plt.figure(figsize=(16,6))
plt.plot(dates,temperature1,label='气温',color='blue')
plt.xlabel('日期')
plt.ylabel('气温(摄氏度)')
plt.title(' 3月气温走势(最高)')
plt.legend()plt.figure(figsize=(16,6))
plt.plot(dates,temperature2,label='气温',color='blue')
plt.xlabel('日期')
plt.ylabel('气温(摄氏度)')
plt.title(' 3月气温走势(最低)')
plt.legend()plt.figure(figsize=(16, 6))
plt.scatter(dates,temperature1,label='气温',color='red',marker='o',s=6)
plt.xlabel('日期' )
plt.ylabel('气温 (摄氏度)')
plt.title( ' 3月最高气温走势 (散点)')
plt.legend()plt.figure(figsize=(16,6))
plt.scatter(dates,temperature2,label='气温',color='red',marker='o',s=6)
plt.xlabel('日期')
plt.ylabel('气温(摄氏度)')
plt.title(' 3月最低气温走势(散点)')
plt.legend()

图片展示

在这里插入图片描述
在这里插入图片描述
通过 绘制了两组温度数据的折线图和散点图,分别对应 3 月份的每日最高和最低气温。代码逻辑看起来非常清晰,只是目前你为两组数据分别绘制了两张图。如果你想将最高和最低气温的变化趋势显示在同一张图上,可以通过以下方式修改代码:

将最高和最低气温合并绘制折线图:

python">plt.figure(figsize=(16, 6))# 绘制最高气温
plt.plot(dates, temperature1, label='最高气温', color='blue')# 绘制最低气温
plt.plot(dates, temperature2, label='最低气温', color='orange')# 添加图例、标题和轴标签
plt.xlabel('日期')
plt.ylabel('气温(摄氏度)')
plt.title(' 3月气温走势(最高与最低)')
plt.legend()plt.show()

将最高和最低气温合并绘制散点图:

python">plt.figure(figsize=(16, 6))# 绘制最高气温的散点
plt.scatter(dates, temperature1, label='最高气温', color='red', marker='o', s=6)# 绘制最低气温的散点
plt.scatter(dates, temperature2, label='最低气温', color='green', marker='o', s=6)# 添加图例、标题和轴标签
plt.xlabel('日期')
plt.ylabel('气温(摄氏度)')
plt.title(' 3月气温走势(最高与最低散点)')
plt.legend()plt.show()

在这里插入图片描述

通过这种方式,你可以在同一张图上对比最高和最低气温的变化情况,更直观地看到它们之间的差异。


2.销售数据可视化

销售数据可视化可以帮助你更直观地了解销售趋势、客户偏好以及其他关键业务指标。

几种常见的销售数据可视化方法及其适用场景:

  1. 折线图(Line Chart)

    • 用途:展示销售额随时间的变化趋势,比如每日、每月或每季度的销售趋势。
    • 适用场景:分析销售高峰期、淡季以及销售趋势的变化。
    python"># 示例:每日销售额折线图
    dates = pd.date_range(start='2024-01-01', periods=30, freq='D')
    sales = np.random.randint(100, 500, size=30)plt.figure(figsize=(12, 6))
    plt.plot(dates, sales, label='销售额', color='blue')
    plt.xlabel('日期')
    plt.ylabel('销售额')
    plt.title('每日销售额走势')
    plt.legend()
    plt.show()
    
  2. 柱状图(Bar Chart)

    • 用途:展示不同时间段或类别的销售量。特别适合展示类别间的比较,如产品、区域或销售员的业绩。
    • 适用场景:分析不同产品或区域的销售表现。
    python"># 示例:按产品类别的销售额柱状图
    categories = ['产品A', '产品B', '产品C', '产品D']
    sales_by_category = [1500, 2000, 1800, 1200]plt.figure(figsize=(10, 6))
    plt.bar(categories, sales_by_category, color='green')
    plt.xlabel('产品类别')
    plt.ylabel('销售额')
    plt.title('按产品类别的销售额')
    plt.show()
    
  3. 堆叠柱状图(Stacked Bar Chart)

    • 用途:展示不同类别的销售额占比,比如每个季度内各产品的销售额对比。
    • 适用场景:展示多个产品或区域的销售占比。
    python"># 示例:季度销售额堆叠柱状图
    quarters = ['Q1', 'Q2', 'Q3', 'Q4']
    product_A = [500, 700, 900, 800]
    product_B = [300, 500, 600, 700]plt.figure(figsize=(10, 6))
    plt.bar(quarters, product_A, label='产品A', color='blue')
    plt.bar(quarters, product_B, bottom=product_A, label='产品B', color='orange')
    plt.xlabel('季度')
    plt.ylabel('销售额')
    plt.title('季度销售额(堆叠柱状图)')
    plt.legend()
    plt.show()
    
  4. 饼图(Pie Chart)

    • 用途:展示某一时间段内不同类别或产品的销售额占比。
    • 适用场景:分析不同产品、地区或客户群体的销售占比。
    python"># 示例:不同产品销售占比饼图
    product_sales = [3000, 2500, 1800, 1200]
    product_labels = ['产品A', '产品B', '产品C', '产品D']plt.figure(figsize=(8, 8))
    plt.pie(product_sales, labels=product_labels, autopct='%1.1f%%', colors=['blue', 'green', 'red', 'orange'])
    plt.title('产品销售额占比')
    plt.show()
    
  5. 热力图(Heatmap)

    • 用途:展示不同时间段和产品的销售表现。颜色越深表示销售额越高。
    • 适用场景:分析销售数据的季节性变化或区域销售情况。
    python"># 示例:按月份和产品的销售额热力图
    sales_data = np.random.randint(100, 1000, size=(4, 5))  # 4个月,5种产品
    sns.heatmap(sales_data, annot=True, cmap='Blues', xticklabels=['产品A', '产品B', '产品C', '产品D', '产品E'], yticklabels=['1月', '2月', '3月', '4月'])
    plt.title('每月每个产品的销售额热力图')
    plt.show()
    
  6. 散点图(Scatter Plot)

    • 用途:展示销售额与其他变量(如客户、价格、库存)之间的关系。
    • 适用场景:分析价格与销售额的相关性或其他变量的影响。
    python"># 示例:价格与销售额的散点图
    prices = np.random.randint(50, 500, size=30)
    sales = np.random.randint(100, 1000, size=30)plt.figure(figsize=(10, 6))
    plt.scatter(prices, sales, color='purple')
    plt.xlabel('价格')
    plt.ylabel('销售额')
    plt.title('价格与销售额的关系')
    plt.show()
    

这些可视化方法可以帮助你深入分析销售数据的变化和模式,你可以根据实际的数据类型选择合适的图表类型。如果有具体的数据或场景,我可以帮助你设计更适合的可视化图表。


import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt# 设置中文字体
plt.rcParams['font.family'] = 'Arial Unicode MS'# 随机生成数据
np.random.seed(0)
years = ['2019', '2020', '2021', '2022', '2023']
categories = ['PA', 'PB', 'PC', 'PD', 'PE']
data = np.random.randint(10, 100, size=(len(years), len(categories)))df = pd.DataFrame(data, columns=categories, index=years)# 1. 绘制热力图
plt.figure(figsize=(10, 6))
sns.heatmap(df, cmap='YlGnBu', annot=True, fmt='d', cbar=True)
plt.xlabel('产品种类')
plt.ylabel('年份')
plt.title(' 热力图')# 2. 绘制堆叠柱状图
plt.figure(figsize=(10, 6))
bottom = np.zeros(len(years))
for category in categories:plt.bar(years, df[category], label=category, bottom=bottom)bottom += df[category]plt.xlabel('年份')
plt.ylabel('数量')
plt.title(' 产品数量堆叠柱状图')
plt.legend(title='产品种类')
plt.show()

图片展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过热力图和堆叠柱状图的直观展示,可以得出以下结论:

整体趋势:

从热力图中可以看到,PA 和 PC 类产品在大部分年份中保持较高的销量,而 PB 类产品的销量相对较低。这可能意味着公司在 PA 和 PC 产品上具备较强的市场竞争力,而 PB 产品的市场表现有待提升。
堆叠柱状图展示了各年产品销售总量的变化。例如,2021 年的总销售量较低,可能由于市场因素或产品策略调整所致,而 2023 年的销售量明显增长,显示出产品策略的优化或市场需求的变化。
产品表现:

通过对比不同年份的销售数据,PA 和 PE 类产品在不同年份的波动较大,说明这两类产品的销量受到外部因素的影响较大。而 PC 类产品表现相对稳定,可能为公司提供了持续的收入来源。

总结

哇哦!库一定要提前下载哦!可以用国内的镜像源来下载库呢!加油,慢慢学,你一定可以的!


http://www.ppmy.cn/devtools/128686.html

相关文章

Java爬虫:API数据界的“宝藏猎人”

亲爱的代码探险家们,今天咱们不聊那些让人头秃的bug,也不谈那些让人眼花的架构图。咱们来聊聊那些在代码世界里寻找宝藏的“宝藏猎人”——Java爬虫。 Java爬虫:API数据界的“宝藏猎人” 想象一下,你在代码的世界里,遇…

【c++ gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试

【c gtest】使用谷歌提供的gtest和抖音豆包提供的AI大模型来对代码中的函数进行测试 下载谷歌提供的c测试库在VsCode中安装抖音AI大模型找到c项目文件夹,使用VsCode和VS进行双开生成gtest代码进行c单例测试 下载谷歌提供的c测试库 在谷歌浏览器搜索github gtest, 第…

SQL 中查找重复数据的四种方法

数据库中的重复数据可能导致存储成本增加、查询性能下降、分析结果不准确以及数据管理混乱。本文概述了四种 SQL 技术来检测和处理这些重复数据:使用GROUP BY和HAVING识别重复行的分组,采用诸如ROW_NUMBER()的窗口函数进行高效分析,利用EXIST…

AnaTraf | 网络性能监控与TCP响应时延:保障高效运维的核心要素

http://www.anatraf.com 网络作为业务运行的核心,直接影响着业务的连续性和用户体验。为了确保网络的高效性和稳定性,网络性能监控成为IT运维工作中的重要一环。TCP响应时延则是衡量网络性能的重要指标之一。本文将探讨如何通过网络性能监控和优化TCP响…

错排问题(C语言)

错排问题(Derangement)是一个经典的组合数学问题,描述的是将 \( n \) 个元素进行排列,使得没有一个元素出现在它原来的位置上。换句话说,错排问题要求所有元素都不在它们原来的位置上。 ### 错排问题的公式 错排问题…

界面控件DevExpress WPF中文教程:Data Grid——表格视图概述

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

2020款Macbook Pro A2251无法充电无法开机定位及修复

问题背景 up主有一台2020年的Macbook Pro,带Touch Bar,16G512G,四核I5,型号A2251 应该是一周没充电了,之前还用的好好的,后来有一天出差想带上 打开没电,手头上有个小米的66W快充头&#xff0c…

关于ETL的两种架构(ETL架构和ELT架构)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象…