跳到主要内容

数据可视化工具完整调研报告 (2025版)

📋 快速导航


📊 图表库

1. ECharts ⭐⭐⭐⭐⭐

核心特点

  • 功能最全: 20+图表类型
  • 配置丰富: 高度可定制
  • 性能优秀: Canvas渲染,支持大数据量
  • 中文文档: 文档详尽

图表类型

基础图表:
- 折线图、柱状图、饼图、散点图
- 雷达图、K线图、热力图、树图
- 漏斗图、仪表盘、关系图、旭日图

高级图表:
- 地图(中国地图、世界地图)
- 3D图表(柱状图、散点图、曲面图)
- GL图表(地球、流场、轨迹)
- 自定义系列

基础示例

折线图:

import * as echarts from 'echarts';

const chart = echarts.init(document.getElementById('main'));

const option = {
title: {
text: '销售趋势'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['产品A', '产品B']
},
xAxis: {
type: 'category',
data: ['1月', '2月', '3月', '4月', '5月', '6月']
},
yAxis: {
type: 'value'
},
series: [
{
name: '产品A',
type: 'line',
data: [120, 200, 150, 80, 70, 110],
smooth: true
},
{
name: '产品B',
type: 'line',
data: [90, 120, 100, 140, 100, 130],
smooth: true
}
]
};

chart.setOption(option);

动态数据:

// 定时更新数据
setInterval(() =\> {
const newData = fetchLatestData();
chart.setOption({
series: [{
data: newData
}]
});
}, 3000);

大数据量优化:

const option = {
dataset: {
source: largeDataArray // 10万+数据
},
dataZoom: [
{
type: 'slider',
start: 0,
end: 10 // 初始只显示10%
}
],
series: {
type: 'line',
sampling: 'lttb', // 降采样算法
large: true, // 大数据模式
largeThreshold: 2000
}
};

React集成:

import ReactECharts from 'echarts-for-react';

function SalesChart() {
const option = {
// ... echarts配置
};

return <ReactECharts option={option} style={{ height: 400 }} /\>;
}

优势

✅ 图表类型最丰富 ✅ 配置灵活强大 ✅ 中文文档完善 ✅ 大数据支持好 ✅ 完全免费

劣势

❌ 配置复杂,学习曲线陡 ❌ 文件体积较大(压缩后300KB+)

适用场景

  • 复杂数据可视化
  • 大屏展示
  • 数据量大的场景
  • 需要丰富图表类型

2. Chart.js ⭐⭐⭐⭐⭐

核心特点

  • 简单易用: API简洁
  • 响应式: 自适应容器
  • 轻量: 压缩后60KB
  • Canvas渲染: 性能好

图表类型

- Line (折线图)
- Bar (柱状图)
- Radar (雷达图)
- Doughnut & Pie (环形图和饼图)
- Polar Area (极地图)
- Bubble (气泡图)
- Scatter (散点图)

基础示例

import Chart from 'chart.js/auto';

const ctx = document.getElementById('myChart');

new Chart(ctx, {
type: 'bar',
data: {
labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
plugins: {
legend: {
position: 'top',
},
title: {
display: true,
text: 'Chart.js Bar Chart'
}
}
}
});

React Chart.js 2:

import { Line } from 'react-chartjs-2';

function LineChart() {
const data = {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
datasets: [
{
label: 'Sales 2024',
data: [65, 59, 80, 81, 56, 55],
fill: false,
borderColor: 'rgb(75, 192, 192)',
tension: 0.1
}
]
};

return <Line data={data} /\>;
}

优势

✅ 简单易用 ✅ 轻量级 ✅ 响应式 ✅ 社区活跃

劣势

❌ 图表类型较少 ❌ 复杂定制能力弱

适用场景

  • 简单图表需求
  • 快速原型
  • 轻量级项目

3. D3.js ⭐⭐⭐⭐⭐

核心特点

  • 最灵活: 完全自定义
  • 数据驱动: DOM操作基于数据
  • 强大: 可实现任何可视化
  • SVG: 基于SVG渲染

学习曲线示例

简单柱状图:

import * as d3 from 'd3';

const data = [30, 86, 168, 281, 303, 365];

d3.select('.chart')
.selectAll('div')
.data(data)
.enter()
.append('div')
.style('width', d =\> d + 'px')
.text(d =\> d);

SVG图表:

const svg = d3.select('svg')
.attr('width', 500)
.attr('height', 300);

const data = [4, 8, 15, 16, 23, 42];

const x = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([0, 420]);

svg.selectAll('rect')
.data(data)
.enter()
.append('rect')
.attr('x', 0)
.attr('y', (d, i) =\> i * 40)
.attr('width', d =\> x(d))
.attr('height', 35)
.attr('fill', 'steelblue');

力导向图:

const simulation = d3.forceSimulation(nodes)
.force('link', d3.forceLink(links).id(d =\> d.id))
.force('charge', d3.forceManyBody())
.force('center', d3.forceCenter(width / 2, height / 2));

const link = svg.append('g')
.selectAll('line')
.data(links)
.join('line');

const node = svg.append('g')
.selectAll('circle')
.data(nodes)
.join('circle')
.attr('r', 5)
.call(drag(simulation));

simulation.on('tick', () =\> {
link
.attr('x1', d =\> d.source.x)
.attr('y1', d =\> d.source.y)
.attr('x2', d =\> d.target.x)
.attr('y2', d =\> d.target.y);

node
.attr('cx', d =\> d.x)
.attr('cy', d =\> d.y);
});

优势

✅ 最灵活最强大 ✅ 可实现任何可视化 ✅ 社区成熟 ✅ Observable集成

劣势

❌ 学习曲线极陡 ❌ 开发速度慢 ❌ 需要深厚可视化知识

适用场景

  • 高度定制化需求
  • 复杂交互可视化
  • 数据新闻
  • 研究和探索

4. Recharts ⭐⭐⭐⭐⭐

核心特点

  • React专用: 原生React组件
  • 声明式: JSX语法
  • D3驱动: 底层使用D3
  • 易用: 简单直观

示例

import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend } from 'recharts';

const data = [
{ name: '1月', uv: 4000, pv: 2400 },
{ name: '2月', uv: 3000, pv: 1398 },
{ name: '3月', uv: 2000, pv: 9800 },
{ name: '4月', uv: 2780, pv: 3908 },
{ name: '5月', uv: 1890, pv: 4800 },
{ name: '6月', uv: 2390, pv: 3800 },
];

function MyChart() {
return (
<LineChart width={600} height={300} data={data}\>
\<CartesianGrid strokeDasharray="3 3" /\>
\<XAxis dataKey="name" /\>
<YAxis /\>
<Tooltip /\>
<Legend /\>
\<Line type="monotone" dataKey="pv" stroke="#8884d8" /\>
\<Line type="monotone" dataKey="uv" stroke="#82ca9d" /\>
</LineChart\>
);
}

复杂组合图:

<ComposedChart width={600} height={400} data={data}\>
\<CartesianGrid stroke="#f5f5f5" /\>
\<XAxis dataKey="name" /\>
<YAxis /\>
<Tooltip /\>
<Legend /\>
\<Bar dataKey="uv" barSize={20} fill="#413ea0" /\>
\<Line type="monotone" dataKey="uv" stroke="#ff7300" /\>
\<Area type="monotone" dataKey="amt" fill="#8884d8" stroke="#8884d8" /\>
</ComposedChart\>

优势

✅ React开发友好 ✅ 声明式,易理解 ✅ 组件化复用 ✅ TypeScript支持好

劣势

❌ 仅React生态 ❌ 定制能力不如D3 ❌ 性能不如ECharts

适用场景

  • React项目
  • 快速开发
  • 中小规模图表

5. ApexCharts ⭐⭐⭐⭐⭐

核心特点

  • 现代化: 界面美观
  • 交互丰富: 动画流畅
  • 响应式: 移动端友好
  • 框架集成: React/Vue/Angular

示例

import ApexCharts from 'apexcharts';

const options = {
series: [{
name: 'sales',
data: [30, 40, 35, 50, 49, 60, 70, 91, 125]
}],
chart: {
type: 'area',
height: 350
},
xaxis: {
categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"]
}
};

const chart = new ApexCharts(document.querySelector("#chart"), options);
chart.render();

React ApexCharts:

import Chart from 'react-apexcharts';

function App() {
const options = {
chart: { id: 'basic-bar' },
xaxis: {
categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998]
}
};

const series = [{
name: 'series-1',
data: [30, 40, 45, 50, 49, 60, 70, 91]
}];

return (
\<Chart options={options} series={series} type="bar" width="500" /\>
);
}

优势

✅ 界面现代美观 ✅ 开箱即用 ✅ 框架集成好 ✅ 免费商用


📈 BI工具

1. Metabase ⭐⭐⭐⭐⭐

核心特点

  • 易用: 无需SQL,可视化查询
  • 自助分析: 业务人员可用
  • 多数据源: 20+数据库
  • 分享: Dashboard分享和嵌入

安装部署

Docker部署:

docker run -d -p 3000:3000 \
-e "MB_DB_TYPE=postgres" \
-e "MB_DB_DBNAME=metabase" \
-e "MB_DB_PORT=5432" \
-e "MB_DB_USER=metabase" \
-e "MB_DB_PASS=password" \
-e "MB_DB_HOST=postgres" \
--name metabase metabase/metabase

JAR运行:

java -jar metabase.jar

使用流程

1. 连接数据源:

Settings → Admin → Databases → Add Database
支持:
- PostgreSQL, MySQL, MongoDB
- BigQuery, Redshift, Snowflake
- Google Analytics, Stripe等

2. 创建问题(Question):

可视化界面:
1. 选择数据表
2. 选择指标(聚合)
3. 添加分组
4. 添加过滤
5. 选择图表类型

或使用SQL:
SELECT
date_trunc('month', created_at) as month,
count(*) as users
FROM users
GROUP BY month
ORDER BY month;

3. 创建仪表盘:

Dashboard:
- 添加多个Question
- 拖拽布局
- 添加文本卡片
- 设置过滤器(日期、类别等)
- 设置自动刷新

分享:
- 公开链接
- 嵌入iframe
- 订阅邮件发送

高级功能

SQL参数:

-- 支持参数化SQL
SELECT *
FROM orders
WHERE created_at \>= {{start_date}}
AND created_at < {{end_date}}
AND status = {{status}}

Alert(告警):

设置条件告警:
- 销售额 < 10000
- 错误率 \> 5%
→ 发送Slack/Email通知

模型(Models):

创建虚拟表:
SELECT
u.id,
u.name,
count(o.id) as order_count,
sum(o.total) as total_spent
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id, u.name

保存为Model → 其他人可基于此创建Question

优势

✅ 开源免费 ✅ 无需SQL也可用 ✅ 界面友好 ✅ 功能全面 ✅ 部署简单

劣势

❌ 大数据量性能一般 ❌ 高级分析能力有限

适用场景

  • 中小企业BI
  • 数据自助分析
  • 快速搭建Dashboard
  • 团队数据共享

2. Apache Superset ⭐⭐⭐⭐⭐

核心特点

  • 功能强大: 企业级BI
  • 可扩展: Python插件系统
  • SQL Lab: 强大的SQL IDE
  • 图表丰富: 50+可视化类型

安装部署

Docker Compose:

git clone https://github.com/apache/superset.git
cd superset
docker-compose -f docker-compose-non-dev.yml up -d

# 访问 http://localhost:8088
# 默认账号: admin / admin

Kubernetes:

helm repo add superset https://apache.github.io/superset/
helm install superset superset/superset

核心功能

SQL Lab:

强大的SQL IDE:
- 语法高亮
- 自动补全
- 查询历史
- 保存查询
- 导出结果(CSV/JSON)
- 可视化结果

支持:
- CTEs
- 子查询
- 复杂JOIN
- 参数化查询

Datasets:

定义数据集:
1. 连接数据库
2. 选择表
3. 定义虚拟列(计算字段)
4. 定义指标(SUM/AVG/COUNT等)
5. 保存 → 可被用于图表

Dashboard:

创建仪表盘:
- 拖拽布局
- 添加多个图表
- 跨图表筛选
- 原生过滤器
- 时间范围选择
- 自动刷新
- 全屏展示模式

Alert & Reports:

定时报告:
- 每天/每周发送Dashboard截图
- 发送到Email/Slack

告警:
- SQL查询结果满足条件
- 触发通知

图表类型

基础:
- 表格、折线、柱状、饼图、散点

高级:
- 桑基图、和弦图、树图
- 漏斗图、气泡图、雷达图
- 热力图、箱线图、小提琴图
- 世界地图、国家地图

时间序列:
- 时间序列柱状/折线
- 对比时间序列
- 季节性分解

大数据:
- Deck.gl集成(地理可视化)
- Superset支持Druid/ClickHouse等OLAP

权限控制

基于角色的访问控制:
- Admin: 所有权限
- Alpha: 创建和编辑
- Gamma: 只读

数据源级别:
- 限制可访问的数据库
- 限制可访问的表

行级安全(RLS):
- 根据用户身份过滤数据
- 例: sales_person_id = {{ current_user_id() }}

优势

✅ 功能最强大 ✅ 完全开源免费 ✅ 大数据支持 ✅ 可扩展性强 ✅ 企业级功能

劣势

❌ 部署复杂 ❌ 学习曲线陡 ❌ 资源占用大

适用场景

  • 大中型企业BI
  • 数据分析团队
  • 大数据分析
  • 需要高度定制

3. Redash ⭐⭐⭐⭐

  • 官网: https://redash.io/
  • GitHub: getredash/redash (⭐26k+)
  • 定价: 开源免费 + 云版 $49/月起

核心特点

  • SQL为中心: 面向数据分析师
  • 查询协作: 团队共享查询
  • 简单轻量: 易于部署

优势

✅ 简单易用 ✅ 查询共享方便 ✅ 支持数据源多

劣势

❌ 可视化能力弱于Superset ❌ 功能相对简单


📺 仪表盘工具

1. Grafana ⭐⭐⭐⭐⭐

核心特点

  • 监控专家: 时序数据可视化
  • 数据源丰富: 70+集成
  • 插件生态: 丰富的插件
  • 告警: 强大的告警规则

安装

# Docker
docker run -d -p 3000:3000 grafana/grafana

# macOS
brew install grafana
brew services start grafana

# 访问 http://localhost:3000
# 默认: admin / admin

数据源配置

Prometheus:

# Configuration → Data Sources → Add Prometheus
URL: http://prometheus:9090

MySQL:

Host: localhost:3306
Database: mydb
User: grafana

Dashboard创建

Panel配置:

1. 选择数据源
2. 编写查询:
# Prometheus
rate(http_requests_total[5m])

# MySQL
SELECT
time,
value
FROM metrics
WHERE $__timeFilter(time)

3. 选择可视化类型:
- Time series (时序图)
- Stat (单值)
- Gauge (仪表盘)
- Bar gauge (条形)
- Table (表格)
- Heatmap (热力图)

4. 设置阈值和告警

变量(Variables):

Dashboard设置 → Variables → New

示例: 服务器下拉选择
Name: server
Type: Query
Query: SELECT DISTINCT server FROM metrics

使用:
SELECT * FROM metrics WHERE server = '$server'

告警规则:

Panel → Alert → Create Alert

Conditions:
WHEN avg() OF query(A, 5m, now) IS ABOVE 80

Notifications:
→ Send to: Slack, Email, PagerDuty等

优势

✅ 监控可视化最强 ✅ 时序数据处理好 ✅ 插件生态丰富 ✅ 开源免费

劣势

❌ 主要面向监控 ❌ 非时序数据支持弱

适用场景

  • 系统监控
  • 应用性能监控(APM)
  • 时序数据可视化
  • DevOps团队

2. Kibana ⭐⭐⭐⭐⭐

核心特点

  • ELK核心: Elasticsearch可视化
  • 日志分析: 强大的日志查询
  • 实时搜索: 亚秒级响应

核心功能

Discover:

日志搜索和探索:
- 全文搜索
- 字段过滤
- 时间范围
- 保存搜索

Dashboard:

拖拽创建仪表盘:
- 添加可视化
- 设置过滤器
- 时间同步
- 刷新间隔

Visualize:

可视化类型:
- 折线、柱状、饼图
- 数据表、指标
- Markdown
- Coordinate & Region Map
- Tag Cloud
- Timeline (TSVB)

Canvas:

像素级完美仪表盘:
- 自定义布局
- 添加背景图
- 精确定位

优势

✅ Elasticsearch最佳搭档 ✅ 日志分析强大 ✅ 实时性好

劣势

❌ 依赖Elasticsearch ❌ 资源占用大


🔧 低代码数据应用平台

1. Retool ⭐⭐⭐⭐⭐

核心特点

  • 拖拽构建: 快速构建内部工具
  • 预置组件: 40+UI组件
  • 数据库直连: 无需后端
  • 代码可嵌入: JavaScript自定义逻辑

功能

组件:
- 表格(可编辑)
- 表单
- 图表(ECharts/Chart.js)
- 按钮、下拉选择等

数据源:
- PostgreSQL, MySQL, MongoDB
- REST API, GraphQL
- Google Sheets, Airtable
- Stripe, Twilio, SendGrid等

操作:
- 查询数据 → 显示在表格
- 编辑 → 更新数据库
- 点击按钮 → 调用API
- JavaScript处理数据

示例场景

Admin Dashboard:

1. 添加Table组件
2. 连接PostgreSQL
3. Query: SELECT * FROM users
4. Table显示数据
5. 添加"禁用用户"按钮
6. 按钮点击 → UPDATE users SET active = false WHERE id = {{table1.selectedRow.id}}
7. 刷新Table

10分钟完成后台管理!

优势

✅ 开发速度极快 ✅ 无需写后端 ✅ 组件丰富 ✅ 企业级权限

劣势

❌ 价格较贵 ❌ 云服务,有数据隐私考虑


2. Appsmith ⭐⭐⭐⭐⭐

核心特点

  • 开源Retool替代
  • 可自部署
  • 社区活跃

优势

✅ 开源免费 ✅ 可自部署 ✅ 功能与Retool类似


3. ToolJet ⭐⭐⭐⭐⭐

核心特点

  • 开源低代码
  • 可视化构建
  • 移动端支持

🔍 数据探索工具

1. Jupyter Notebook ⭐⭐⭐⭐⭐

核心特点

  • 交互式: 边写边运行
  • Python生态: matplotlib, seaborn, plotly
  • Markdown: 文档和代码混编
  • 共享: nbviewer, JupyterHub

数据可视化

Matplotlib:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('sales.csv')
df.plot(x='date', y='revenue', kind='line')
plt.title('销售趋势')
plt.show()

Seaborn:

import seaborn as sns

sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.show()

Plotly:

import plotly.express as px

fig = px.scatter(df, x='price', y='sales',
size='quantity', color='category',
hover_data=['product'])
fig.show()

2. Observable ⭐⭐⭐⭐⭐

核心特点

  • D3.js云IDE: 在线编写D3代码
  • 实时预览: 代码即时可视化
  • 可嵌入: 嵌入到网站
  • 协作: 团队共享

示例

// 创建一个柱状图
data = [
{name: 'A', value: 30},
{name: 'B', value: 80},
{name: 'C', value: 45}
]

chart = {
const svg = d3.create("svg")
.attr("width", 500)
.attr("height", 300);

svg.selectAll("rect")
.data(data)
.join("rect")
.attr("x", (d, i) =\> i * 100)
.attr("y", d =\> 300 - d.value)
.attr("width", 80)
.attr("height", d =\> d.value)
.attr("fill", "steelblue");

return svg.node();
}

3. Streamlit ⭐⭐⭐⭐⭐

核心特点

  • Python快速构建: 纯Python创建Web应用
  • 无需前端: 自动生成UI
  • 实时交互: 滑块、按钮自动刷新

示例

import streamlit as st
import pandas as pd
import plotly.express as px

st.title('销售数据分析')

# 上传文件
uploaded_file = st.file_uploader("上传CSV", type="csv")

if uploaded_file:
df = pd.read_csv(uploaded_file)

# 显示数据
st.dataframe(df)

# 筛选
category = st.selectbox('选择类别', df['category'].unique())
filtered_df = df[df['category'] == category]

# 图表
fig = px.line(filtered_df, x='date', y='sales')
st.plotly_chart(fig)

# 指标
col1, col2, col3 = st.columns(3)
col1.metric("总销售额", f"${filtered_df['sales'].sum():,.0f}")
col2.metric("平均", f"${filtered_df['sales'].mean():,.0f}")
col3.metric("最大", f"${filtered_df['sales'].max():,.0f}")

运行:

streamlit run app.py

优势

✅ Python开发极快 ✅ 无需前端知识 ✅ 适合数据科学家 ✅ 部署简单


🗺️ 地图可视化

1. Mapbox GL JS ⭐⭐⭐⭐⭐

核心特点

  • 性能最好: WebGL渲染
  • 样式丰富: 自定义地图样式
  • 3D支持: 建筑物3D、地形

示例

import mapboxgl from 'mapbox-gl';

mapboxgl.accessToken = 'your-token';

const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [116.4074, 39.9042], // 北京
zoom: 12
});

// 添加标记
new mapboxgl.Marker()
.setLngLat([116.4074, 39.9042])
.setPopup(new mapboxgl.Popup().setHTML('<h3\\>北京</h3\\>'))
.addTo(map);

// 添加热力图
map.on('load', () =\> {
map.addSource('earthquakes', {
type: 'geojson',
data: earthquakeData
});

map.addLayer({
id: 'earthquakes-heat',
type: 'heatmap',
source: 'earthquakes'
});
});

2. Leaflet ⭐⭐⭐⭐⭐

核心特点

  • 轻量: 39KB
  • 简单易用: API友好
  • 插件丰富: 社区插件多

示例

import L from 'leaflet';

const map = L.map('map').setView([39.9042, 116.4074], 13);

L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; OpenStreetMap contributors'
}).addTo(map);

L.marker([39.9042, 116.4074])
.addTo(map)
.bindPopup('北京')
.openPopup();

3. Deck.gl ⭐⭐⭐⭐⭐

核心特点

  • 大数据: 百万级数据点
  • WebGL: 性能极好
  • 3D可视化: 支持3D图层

📊 工具对比

图表库对比

工具难度灵活性性能适用场景
ECharts⭐⭐⭐⭐⭐复杂图表,大数据
Chart.js⭐⭐⭐⭐简单图表
D3.js极高⭐⭐⭐⭐高度定制
Recharts⭐⭐⭐React项目
ApexCharts⭐⭐⭐⭐现代化UI

BI工具对比

工具定价易用性功能部署
Metabase免费⭐⭐⭐⭐⭐⭐⭐⭐⭐简单
Superset免费⭐⭐⭐⭐⭐⭐⭐⭐复杂
Redash免费⭐⭐⭐⭐⭐⭐⭐简单

🎯 选型建议

图表库选择

简单项目:

Chart.js (快速) 或 ApexCharts (美观)

React项目:

Recharts (简单) 或 ECharts (复杂)

复杂定制:

D3.js (完全自定义)

大数据可视化:

ECharts (推荐)

BI工具选择

中小团队:

Metabase (易用,快速上手)

数据团队:

Superset (功能强大)

监控告警:

Grafana (时序数据)

日志分析:

Kibana + Elasticsearch

低代码平台选择

有预算:

Retool (最强大)

开源方案:

Appsmith / ToolJet (功能相近)

数据探索

Python用户:

Jupyter + Streamlit

D3用户:

Observable

最后更新: 2025年1月 工具数量: 30+ 重点推荐: ECharts、Chart.js、Metabase、Superset、Grafana、Streamlit、Deck.gl