数据可视化:用图表和图形展示数据

news2024/11/16 7:30:59

写在开头

在当今信息爆炸的时代,海量的数据如同一座沉默的宝库,等待着我们挖掘和理解。然而,这些庞大的数据集本身可能令人望而生畏。在这个时候,数据可视化成为了解数据、发现模式和传达信息的强大工具。本篇博客将带领你探索数据可视化的奇妙世界,学习如何在python中使用图表和图形将复杂的数据呈现得淋漓尽致。

1. 为什么需要数据可视化?

在数字化的世界里,数据可视化不仅仅是一种美观的展示手段,更是一种强大的沟通工具。通过可视化,我们能够:

  • 提高理解效率: 图表和图形能够将抽象的数字转化为直观的形式,使人们更容易理解和记忆。

  • 发现隐藏模式: 可视化可以帮助我们发现数据中的趋势、关系和异常,从而引导进一步的深入分析。

  • 支持决策: 直观的数据呈现有助于决策者更快速、准确地做出决策,基于数据做出科学的判断。

2. 常见的数据可视化图表

在绘制图像时,往往会遇见中文显示异常的情况,如遇到中文显示异常,请添加下面的代码:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用中文黑体

2.1 折线图

折线图是一种展示数据随时间变化趋势的图表,特别适用于观察连续变量的变化。在示例代码中,使用Matplotlib库创建了一个简单的折线图。这个图表通过横轴表示时间,纵轴表示数值,通过连接各个时间点的折线,清晰地展示了数据的变化趋势。

2.1.1 基础的折线图

在python中,运行一下代码,绘制图表:

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用中文黑体

# 示例数据
time = [1, 2, 3, 4, 5]
value = [10, 12, 8, 15, 11]

# 创建fig和ax对象,并设置显示图像的尺寸
fig, ax = plt.subplots(figsize=(10, 6))

# 绘制折线图
ax.plot(time, value, marker='o',color='red')

#设置标题及坐标轴
plt.title('销售额随时间变化')
plt.xlabel('时间(day)')
plt.ylabel('销售额(百万)')

plt.show()

运行后,截图如下:
0

2.1.2 带趋势线的折线图
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用中文黑体

# 示例数据
time = [1, 2, 3, 4, 5]
value = [10, 12, 8, 15, 11]

# 创建fig和ax对象,并设置显示图像的尺寸
fig, ax = plt.subplots(figsize=(10, 6))

# 绘制折线图
ax.plot(time, value, marker='o',color='red')

# 设置x轴刻度值
ax.set_xticks(np.arange(len(time)))
ax.set_xticklabels(time)

# 在每个坐标点上显示数值
for i, txt in enumerate(value):
    ax.annotate(str(txt), (time[i], value[i]), textcoords="offset points", xytext=(0,8), ha='center')

# 添加线性趋势线
z = np.polyfit(time, value, 1)
p = np.poly1d(z)
ax.plot(time, p(time), '--', label='线性趋势线',color='blue')

    
plt.title('销售额随时间变化')
plt.xlabel('时间(day)')
plt.ylabel('销售额(百万)')
# 显示图例
plt.legend()  
plt.show()



运行以上代码后,效果如下:

1

这样的折线图可以用于追踪各种变化,比如销售额、温度变化等,使得数据的趋势一目了然。

2.2 柱状图

柱状图是比较不同类别数据的一种常见方式。在示例代码中,使用Seaborn库创建了一个简单的柱状图。柱状图的横轴通常表示不同的类别,纵轴表示数值。通过柱子的高度和颜色,可以直观地对比不同类别之间的差异。

2.1 简单的柱状图

seaborn库封装有matplotlib的函数,可以方便的帮我们构建柱状图,以下为简单的一个实例:

import seaborn as sns
categories = ['A', 'B', 'C', 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MacBook macOs安装RabbitMQ【超详细图解】

目录 一、使用brew安装RabbitMQ 二、安装RabbitMQWeb管理界面 三、启动RabbitMQ 一、使用brew安装RabbitMQ 刚好项目要用到RabbitMQ,安装顺便写下安装步骤记录一下以备用 使用brew命令安装,一般Mac会自带这个命令,如没有,…

如何看网络架构图-1基础篇

这是一个比较常见的网络部署架构图,通过LVSKeepalive做网络层的高可用架构,在应用层通过nginx做应用层细粒度的请求管控,然后根据负载均衡策略将请求转发到后端的tomcat服务。 首先看到这样的图,相信大部分人都能看懂,…

【Hydro】SG滤波器纯numpy实现

目录 说明WIKI示例滑动平均卷积系数的推导第一点和最后点的处理scipy.signal中的savgol_filter纯numpy实现的savgol_filterCPP实现的savgol_filter参考文献说明 Savitzky-Golay滤波器(S-G滤波器)是一种在时域和频域上同时进行的滤波方法,它通过局部多项式拟合来平滑信号。这…

python中,or、not的用法

or的用法 在python中,or运算符是一个逻辑运算符,用于在多个条件中选择至少一个为真(True)的情况。 如果条件中的任意一个为真,整个表达式的结果就为真 如: 示例1: 检查两个数字中至少有一个正数 示例2: x True y …

分发测试应用平台怎么用之应用详情功能

我的应用 应用功能引导 ●您会看到以下页面,下图为功能的解释方便您的运行 我的应用-详情-应用详情 ●我们点击应用详情数字③,点击应用详情,下图是对详情页的功能介绍。 详情-应用设置 ●详情-应用设置-下图为应用设置的上半部分 ●下图为应…

从零构建属于自己的GPT系列1:文本数据预处理、文本数据tokenizer、逐行代码解读

🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1:文本数据预处理 从零构建属于自己的GPT系列2:语…

聚焦清晰度评价指标所用到的各种算法

首先,我想吐槽一下,看了好几篇聚焦评价函数的文章,说到底都是一篇文章转载或者重复上传,介绍了将近 15 种清晰度的算法,原文找了半天都没找到在哪,最多也仅能找到一些比较早的转载。 无参考图像的清晰度评…

众新万能空调遥控器代码

众新万能空调遥控器代码 特此记录 anlog 2023年11月30日

JPA代码生成器

【Java代码生成神器】自动化生成Java实体类、代码、增删改查功能!点击访问 推荐一个自己每天都在用的Java代码生成器!这个网站支持在线生成Java代码,包含完整的Controller\Service\Entity\Dao代码,完整的增删改查功能&#xff01…

Linux | Ubuntu设置 netstat(网络状态)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。 1.netstat的安装 搜…

自己的邮箱名称出现在别人的此电脑的网络位置中

在公司别的同事告诉我,我的邮箱名字出现在他们的【此电脑】-【网络位置中】 如图: 当时吓我一跳,因为我总喜欢搞一些渗透的东西,我以为把自己暴漏了,然后疯狂的在网上找原因。 于是就搜到一位安暖的博主: …

VSCode搭建STM32开发环境

1、下载安装文件 链接:https://pan.baidu.com/s/1WnpDTgYBobiZaXh80pn5FQ 2、安装VSCodeUserSetup-x64-1.78.2.exe软件 3、 在VSCode中安装必要的插件 3、配置Keil Assistant插件 4、在环境变量中部署mingw64编译环境

电商API接口对于实现电商系统平台的搭建有哪些作用?

电商API接口用于实现电商平台的数据交互和功能调用。具体来说,电商API接口可以用于以下几个方面: 1. 商品管理:通过API接口,可以实现商品的添加、修改、删除、查询等操作。商家可以通过API接口将自己的商品信息上传到电商平台&…

C++基础 -22- 菱形继承

理想的菱形继承如图所示 #include "iostream"using namespace std;class top {public:void baseshow(){cout << "baseshow" << endl;} };class left:public::top {public:void leftshow(){cout << "leftshow" << end…

图论|并查集理论基础 1971. 寻找图中是否存在路径

什么是并查集 并查集是一种数据结构&#xff0c;用于处理一些不交集的合并及查询问题。它支持两种操作&#xff1a; 查找&#xff08;Find&#xff09;&#xff1a;确定某个元素属于哪个子集。它可以用来判断两个元素是否属于同一个子集。 合并&#xff08;Union&#xff09;&…

YOLOv8独家原创改进:自研独家创新FT_Conv,卷积高效结合分数阶变换

💡💡💡本文自研创新改进:卷积如何有效地和频域结合,引入分数阶傅里叶变换(FrFT)和分数阶Gabor变换(FrGT),最终创新到YOLOv8。 使用方法:1)直接替换原来的C2f;2)放在backbone SPPF后使用;等 推荐指数:五星 在道路缺陷检测任务中,原始map为0.8,FT_Conv为0.82 收…

力扣题:字符的统计-11.25

力扣题-11.25 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;387. 字符串中的第一个唯一字符 解题思想&#xff1a;直接遍历即可 class Solution(object):def firstUniqChar(self, s):""":type s: str:rtype: int""&qu…

【Openstack Train安装】五、Memcached/Etcd安装

本文介绍Memcached/Etcd安装步骤&#xff0c;Memcached/Etcd仅需在控制节点安装。 在按照本教程安装之前&#xff0c;请确保完成以下配置&#xff1a; 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 【Openstack Train安装】三、openstack安装…

插槽slot使用

场景&#xff1a;el-button是绝对定位&#xff0c;希望它能根据query组件&#xff08;公共组件&#xff09;定位&#xff0c;query组件是相对定位。 <query :queryArr"queryParams" class"query"><div class"btn"><el-button cla…

从源代码出发,Jenkins 任务排队时间过长问题的解决过程

最近开发了一个部署相关的工具&#xff0c;使用 Jenkins 来构建应用。Jenkins 的任务从模板中创建而来。每次部署时&#xff0c;通过 Jenkins API 来触发构建任务。在线上运行时发现&#xff0c;通过 API 触发的 Jenkins 任务总是会时不时在队列中等待较长的时间。某些情况下的…