☰
用Highcharts生成带抖动的散点图示列讲解
2026/10/22 7:05:49 网站建设 项目流程

散点图简介

散点图(Scatter Chart)是一种用于展示两个变量之间关系的图表类型。它将每个数据点绘制在二维坐标系中,横轴和纵轴分别代表两个不同的变量,通过点的分布形态可以直观地观察变量之间的相关性、聚集性和离群点。

散点图的核心价值在于:

  • 相关性分析:通过点的整体走向判断变量之间是正相关、负相关还是无相关。
  • 分布密度观察:点的密集程度反映数据在该区域的分布频率。
  • 离群点识别:远离主体分布的点往往是异常数据或特殊样本。
  • 多组对比:通过不同颜色或形状的系列,可以同时对比多组数据的分布差异。

散点图的应用特点

散点图在实际应用中具有以下显著特点:

  • 数据量适应性强:从几十个点到成千上万个点都能清晰呈现,适合大数据量的可视化场景。
  • 维度扩展灵活:除了横纵坐标外,还可以通过点的大小、颜色、形状等视觉通道增加更多数据维度。
  • 交互探索友好:配合悬停提示、缩放、拖拽等交互能力,用户可以深入探索数据细节。
  • 统计辅助直观:常与回归线、置信区间等统计元素结合,增强分析结论的可信度。

Highcharts 可视化图表库介绍

Highcharts 是一款基于 JavaScript 的成熟图表库,广泛应用于 Web 前端数据可视化开发。它支持散点图、折线图、柱状图、饼图、热力图、箱线图等数十种图表类型,并且具有以下突出优势:

  • 零依赖、轻量易用:核心库不依赖 jQuery 等第三方框架,只需引入一个 JS 文件即可快速创建图表。
  • 配置驱动、上手简单:通过 JSON 风格的配置对象即可完成图表定制,无需编写复杂的绘图逻辑。
  • 交互能力丰富:内置缩放、平移、数据提示、图例切换、导出图片等交互功能,开箱即用。
  • 响应式适配:自动适配不同屏幕尺寸,在移动端和桌面端都能获得良好的展示效果。
  • 社区生态完善:官方文档详尽,示例丰富,并提供了 Highcharts Stock、Highcharts Maps 等扩展模块。

在散点图场景中,Highcharts 提供了jitter抖动功能,可以在数据点重叠时自动添加微小偏移,避免大量点堆叠在一起导致信息丢失,这正是上方示例代码所展示的核心能力。

// Generate test data with discrete X values and continuous Y values. const getTestData = x => { const off = 0.2 + 0.2 * Math.random(); return new Array(200).fill(1).map(() => [ x, off + (Math.random() - 0.5) * (Math.random() - 0.5) ]); }; // Make all the colors semi-transparent so we can see overlapping dots const colors = Highcharts.getOptions().colors.map(color => Highcharts.color(color).setOpacity(0.5).get() ); Highcharts.chart('container', { chart: { type: 'scatter' }, colors, title: { text: 'Scatter chart with jitter' }, xAxis: { categories: ['Run 1', 'Run 2', 'Run 3', 'Run 4', 'Run 5'] }, yAxis: { title: { text: 'Measurements' } }, plotOptions: { scatter: { showInLegend: false, jitter: { x: 0.24, y: 0 }, marker: { radius: 2, symbol: 'circle' }, tooltip: { pointFormat: 'Measurement: {point.y:.3f}' } } }, series: [{ name: 'Run 1', data: getTestData(0) }, { name: 'Run 2', data: getTestData(1) }, { name: 'Run 3', data: getTestData(2) }, { name: 'Run 4', data: getTestData(3) }, { name: 'Run 5', data: getTestData(4) }] });

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询