2023年最强大的12款数据可视化工具,值得收藏
做数据分析也有年头了,好的坏的工具都用过,推荐几个觉得很好用的,避坑必看!
PS:一般比较成熟的公司里,数据分析工具不只是满足业务分析和报表制作,像我现在给我们公司选型BI工具,是做全平台全方位的数据处理,外源数据更新、实时抽取、性能优化等等都是非常关注的点,所以Excel这种适合个人分析的就不推荐了,不适合专业的数据分析师。
- 数据存储层:Access、SQL Server、DB、Oracle等
- 数据处理层:Python、Hadoop
- 数据报表层:Finereport、简道云
- 数据展示层:Tableau、Powerbi、Finebi
一、数据存储层面
这一方面主要是数据库和数据仓库的一些知识点,企业要想做数字化转型,把原先的一些数据系统,如ERP、OA、CRM、Excel等,必须得进行数字打通,不然整个企业就相当于在进行烟囱式开发,数据东一块,西一块,根本不能成为体系。

具体的,就是一些数据库的使用,不要说这方面的知识不想学,有运维替你管着。
一个好的大数据体系,数据仓库和数据库、数据湖、数据集市的建立是非常重要的,建模的维度就决定了你后面分析的维度,如果维度不够全面与准确,那你的工具再好也就没有意义了。
二、数据处理层面
python、hadoop可以闪亮登场了,但是hadoop是一个非常复杂的平台,需要的技术很多,所以这里我们暂时不讨论。
使用Python的好处是自由度非常高,能够灵活运用模型和算法,并且从数据采集到数据清洗到数据分析,一种语言就可以全部搞定。
现在很多人都在说不学python会怎么怎么样,但其实不是这样,归根结底只是一个底层语言,需要混合使用。Python是有一定门槛的,而且学习的时间成本不低,往往一次分析需要花较多的时间,如果不是大型分析项目,有点大材小用。
但是对于大型的项目,尤其是涉及到数据挖掘类的建议用python。

还有一些可以数据抓取的工具,我就不说了,本质其实都差不多。
三、数据报表层面
可能提到报表,很多人脑子里的想法就是Excel,这其实是完全不对的,excel的短板是很明显的:
- Excel会导致企业信息化程度不够
- 数据口径不一致,浪费人力去核对
- 数据采集困难,更改不能实时显示数据

所以更推荐轻量级的数据报表工具,比如简道云就很适合做各种数据报表。
https://www.jiandaoyun.com
从数据的收集(在线表单),到各种审批流程的流转(流程表单),再到数据的分析和展示(仪表盘)都做的比较完善。企业日常办公和管理需求完全能够满足。

如果是有一些代码基础的技术人员,推荐使用Finereport,这里简单说下原因:
报表开发方面,FineReport比Excel更专业一些,因为它是一个纯Java开发的报表软件,相对于开源报表来说,它的功能都是封装好的,用户不需要编码直接就能用,而且它的界面设计风格和Excel类似,兼容Excel常用的公式,稍微会点Excel就能很快上手。

而且Finereport是作为企业级的报表平台应用,所以适合公司使用。
4、数据展现层面
我上一家公司用的是SAS,可现在流行R语言来训练模型,作为数据分析工具,今年已经没有采购SAS了预算了,预算都给大数据平台产品了。
你们以为的数据展现,可能就是所有数据都处理好了,然后直接生成可视化就行,其实远不是这样,那数据变动怎么办呢?数据量太大,宕机了怎么办呢?
所以一个实时的可视化工具就显得非常重要,我觉得Tableau、PowerBI、FineBI都是一个不错的选择。
(1)Tableau
Tableau我更倾向于将他定义为数据可视化工具,而不是数据分析工具,因为tableau的数据可视化能力确实非常强,他的交互式的可视化体验在业内是被人津津乐道,但是在数据建模和数据分析功能上,略输pbi与finebi一筹。
其实我用的是Tb prep+Tb desktop,因为tableau一直以来就被数据处理能力差而诟病,prep就是千呼万唤始出来的数据清洗工具,2018年才刚刚面世,主要是为了弥补tb在数据清洗工作上的欠缺,我用过一两次,接触的不深,风格还是一贯的tb清新风格,基本可以实现数据清洗、数据整理、数据合并等etl操作,但是理论上任何产品都需要一定的生长曲线,我相信tb prep也同样是如此,未来还有更大的空间可以优化。

另外就是prep+desktop两款工具协同工作的方式,太过于麻烦,这也算是tb的一大与生俱来的缺点。
此外Tableau是国外的工具,一是服务体系不够全,出了问题要解决很久,这是不能接受的;二是价格实在是太高,动不动就上百万。
(2)FineBI
所以我推荐FineBI,一款web级的敏捷数据工具,不仅直接拖拽就能生成可视化,而且还能做复杂报表,BI报表就是企业的新方向。

其实数据展现类的工具,靠不靠谱还得看引擎,FineBI引擎的两种模式可以支持大数据量分析,这一点我是非常推崇的:
- 抽取模式:提供基于索引的高效计算引擎,通过数据预加载,支撑前端快速数据分析,适用于实时性要求不高的分析。
- 实时模式:直接对接读取企业的数据库表进行分析,适用于对实时性要求较高的数据分析场景。
可视化能力嘛,比tableau弱一点,不过好处就是简单一点,很好上手:

(3)PowerBI
首先powerbi我将其定义为适合个人多联机的数据分析与挖掘工具。
PBI可以说是微软的一次偶然尝试和偶然的产品,在tableau出现之前,微软对于数据分析领域的布局其实非常简单,只有针对企业用户的sql server analysis service和excel里的power pivot,后来微软将这两个工具进行结合,开发出了Powerbi
所以与其说powerbi是微软开发出的数据分析工具,不如说是微软依靠对BI业务模型多年的研究总结后得出的一套解决方案,也就是DAX所代表的的数据分析理念。这一点与tableau提倡的理念是相反的。
Power的数据可视化能力怎么说呢,一言难尽吧,powerbi真的有种工科风,能力强悍但是颜值不高,可视化展现能力方面,PoweBI内置的图表种类相对较少,例如一些常用的玫瑰图,多层饼图,词云图,热力地图,流向地图等都不支持(需要进行市场图表拓展下载使用).图形属性方面还算丰富,可以由用户自定义进行图表样式属性的设置调节。

最后,永远要记住,不要太过于依赖于工具,使用好工具的基础一定是你拥有扎实的知识基础,如果你连数据分析是什么?怎么做数据分析这些都不懂,那说实话,选择再好的工具也没什么用。
如果你有幸看到这里了,那么再给大家推荐一些学习数据分析的书籍和课程,都整理在这篇回答里了:
如何培养真正的数据分析思维?附实践案例
以上。
相关文章:
2023年最强大的12款数据可视化工具,值得收藏
做数据分析也有年头了,好的坏的工具都用过,推荐几个觉得很好用的,避坑必看! PS:一般比较成熟的公司里,数据分析工具不只是满足业务分析和报表制作,像我现在给我们公司选型BI工具,是做…...
LeetCode刷题系列 -- 523. 连续的子数组和
给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存…...
LeetCode刷题系列 -- 525. 连续数组
给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2:输入: nums [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数…...
JavaEE15-Spring Boot统一功能处理
目录 1.统一用户登录权限效验 1.1.最初用户登录验证 1.2.Spring AOP用户统一登录验证的问题 1.3.Spring拦截器 1.3.1.创建自定义拦截器,实现 HandlerInterceptor 接口并重写 preHandle(执行具体方法之前的预处理)方法 1.3.2.将自定义拦…...
centos7.6 设置防火墙
1、查看系统版本 cat /etc/redhat-release2、查看防火墙运行状态 systemctl status firewalld这里可以看到当前是未运行状态(inactive)。 3、关闭开机自启动防火墙 systemctl disable firewalld.service4、启动防火墙并查看状态,系统默认 22 端口是开启的。 sy…...
在线支付系列【22】微信支付实战篇之集成服务商API
有道无术,术尚可求,有术无道,止于术。 文章目录前言1. 环境搭建2. 特约商户进件3. 统一下单总结前言 在上篇文档中,我们做好了接入前准备工作,接下来使用开源框架集成服务商相关API。 一个简单的支付系统完成支付流程…...
3.2 埃尔米特转置
定义 对于复矩阵,转置又不一样,常见的操作是共轭转置,也叫埃尔米特转置Hermitian transpose。埃尔米特转置就是对矩阵先共轭,再转置,一般来说用三种符号表示埃尔米特转置: 第一种符号是AHA^HAH,…...
Python爬虫之Scrapy框架系列(13)——实战ZH小说爬取数据入MySql数据库
目录:1 数据持久化存储,写入Mysql数据库①定义结构化字段:②重新编写爬虫文件:③编写管道文件:④辅助配置(修改settings.py文件):⑤navicat创库建表:⑥ 效果如下…...
MySQL篇02-三大范式,多表查询
数据入库时,由于数据设计不合理,会存在数据重复、更新插入异常等情况, 故数据库中表的设计遵循的设计规范:三大范式1.第一范式(1NF)要求数据库的每一列都是不可分割的原子数据项,即原子性。强调的是列的原子性,即数据库中每一列的…...
vue-cli3创建Vue项目
文章目录前言一、使用vue-cli3创建项目1.检查当前vue的版本2.下载并安装Vue-cli33.使用命令行创建项目二、关于配置前言 本文讲解了如何使用vue-cli3创建属于自己的Vue项目,如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力。 下面案例可供…...
Linux perf probe 的使用(三)
文章目录前言一、Dynamic Tracing二、kprobes2.1 perf kprobe 的使用2.2 kprobe Arguments3.3 tcp_sendmsg()3.3.1 Kernel: tcp_sendmsg()3.3.2 Kernel: tcp_sendmsg() with size3.3.2 Kernel: tcp_sendmsg() line number and local variable三、uprobes的使用3.1 perf uprobe …...
python GUI编程 多窗口跳转
# 多窗口跳转例子from tkinter import *def main(): # 主窗体def goto(num):root.destroy() # 关闭主窗体if num 1:one() # 进入第1个窗体elif num 2:two() # 进入第2个窗体root Tk()root.geometry(300x150600200)root.title(登录窗口)but1 Button(root, text"进入…...
nuxt 学习笔记
这里写目录标题路由跳转NuxtLinkquery参数params参数嵌套路由tab切换效果layouts 文件夹强制约定放置所有布局文件,并以插槽的形式作用在页面中1.在app.vue里面2.component 组件使用Vue < component :is"">Vuex生命周期数据请求useFetchuseAsyncDat…...
Python编程自动化办公案例(1)
作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.使用库讲解 1.xlrd 2.xlwt 二.主要案例 1.批量合并 模板如下…...
一站式 Elasticsearch 集群指标监控与运维管控平台
上篇文章写了一下消息运维管理平台,今天带来的是ES的监控和运维平台。目前初创企业,不像大型互联网公司,可以重复的造轮子。前期还是快速迭代试错阶段,方便拿到市场反馈,及时调整自己的战略和产品方向。让自己活下去&a…...
C# 调用Python
一、简介 IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。 Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python是…...
51单片机最强模块化封装(3)
文章目录 前言一、创建smg文件,添加smg文件路径二、smg文件编写三、模块化测试总结前言 本篇文章将带大家继续封装我们的代码。 这里我们会封装数码管的操作函数。 一、创建smg文件,添加smg文件路径 这里的操作就不过多解释了,大家自行看前面的文章即可。 51单片机模块化…...
【CSS 布局】水平垂直居中
CSS 布局-水平垂直居中 一、水平居中 创建一个父盒子,和子盒子 <div class"parent"><div class"child"></div> </div>基本样式如下 .parent {background-color: #fff; }.child {background-color: #999;width: 100p…...
【C++】类和对象--类的6个默认成员函数
目录1.类的6个默认成员函数2.构造函数2.1概念2.2特性3.析构函数3.1概念3.2特性4.拷贝构造函数4.1概念4.2特征5.赋值运算符重载5.1运算符重载5.2赋值运算符重载5.3前置和后置重载5.4流插入和流提取运算符重载6.const成员7.取地址重载和const取地址操作符重载1.类的6个默认成员函…...
常见面试题---------如何处理MQ消息丢失的问题?
如何处理MQ消息丢失的问题? RabbitMQ丢失消息分为如下几种情况: 生产者丢消息: 生产者将数据发送到RabbitMQ的时候,可能在传输过程中因为网络等问题而将数据弄丢了。 RabbitMQ自己丢消息: 如果没有开启RabbitMQ的持久化&#x…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
