散点图生成器 — 在线绘制双变量关系图
散点图生成器
| 已绘制的点数 | 8 |
| 斜率 | 1.986 |
| 截距 | 0.064 |
| R²(决定系数) | 0.9988 |
趋势线是普通最小二乘拟合,R² 是 y 的方差中可由该直线解释的比例。R² 接近 1 表示各点几乎落在直线上;R² 接近 0 表示这条直线解释力很弱,起作用的可能是另一种关系。R² 很高也不能证明因果关系。
功能介绍
散点图把每一次观测画成一个标记,坐标由两个测量得到的变量决定。横轴按惯例放自变量或解释变量,也就是你控制、或你认为驱动了这种关系的那个变量;纵轴放因变量,也就是你想解释的结果。这个惯例很重要,因为"哪个变量放在哪根轴上"直接决定了图形的含义:把剂量画在横轴、反应画在纵轴时,紧密上升的点云告诉你剂量越大反应越高;而同一份数据反过来画,则只说明反应升高时剂量反而降低。读形状就是读关系:紧密上升的点云是强正相关,明显下降是强负相关,毫无规则的团状分布意味着线性关系很弱或不存在,而可以看出的曲线或喇叭形则说明直线是错误的模型。相关不等于因果,这是这一图形类别中最常被滥用的观念,也是初学者最容易犯的错误:看到一条漂亮的上升直线就直接宣布因果,是把统计规律当成了机制证明。真正需要的是研究设计上的论证,而图形只能告诉你两个量在数据中是否一起变化。任何散点图本身都不能证明因果关系。两个变量之所以同向变化,可能是其中一个导致另一个,也可能是二者都由第三个因素引起,可能只在某些条件下才存在因果,也可能仅仅是样本恰好被抽成了这样。工具中提供的趋势线是普通最小二乘拟合,它找出使各点到直线的纵向平方距离总和最小的那一条直线,即 y 等于斜率乘以 x 再加截距。斜率表示 x 每增加一个单位时 y 的平均变化量,截距是 x 等于 0 时 y 的拟合取值,但只有当 0 确实落在 x 的取值范围内时截距才有意义。R²,即决定系数,是 y 的总变异中被这条直线解释的比例,等于 1 减去残差平方和除以总平方和。R² 等于 0.99 意味着直线解释了 y 变异的百分之九十九,剩下的百分之一就是你尚未建模的部分;R² 接近 0 则说明直线几乎什么都没解释,用别的关系形式或者干脆承认是噪声更贴切。关键在于,R² 永远非负,而且在加入更多自变量后必然上升,因此一个很高的 R² 只能说明线性关联很强,绝不能单独用来证明因果机制。
使用方法
- 在大文本框中输入或粘贴你的数据,每行一对 x,y。数据对之间也可以用空格或分号分隔,一对中的两个数字之间可以用逗号、冒号或制表符。
- 检查文本框下方的红色"Skipped as unreadable"提示。凡是无法解析成两个有限数值的片段都会被列在这里,因此打错的字符不会悄悄消失。
- 在 X axis label 与 Y axis label 输入框中填入变量名称,让图表标明哪个是解释变量、哪个是因变量,而不是只显示 x 和 y。
- 保持勾选 Trend line 以在点云上拟合普通最小二乘直线;取消勾选则只显示原始分布,不强加任何模型。
- 拖动 Point size 滑块在 2 到 14 之间调节:数据点密集、重叠本身携带信息时用小标记,点很少时用大标记以保持清晰。
- 查看图表下方表格中的 Points plotted、Slope、Intercept 与 R²;把鼠标悬停在任意标记上可以看到它的精确坐标,这在点靠得很近时很有用。
- 如果所有 x 值都相同,拟合无法计算,统计行会消失,因为没有任何直线能解释一个从不变化的变量。
- 点击 Download SVG 保存一份带坐标轴标题的独立矢量图,可直接嵌入文档使用。
计算示例
输入: 工具自带的 8 点示例数据,(1, 2.1) 到 (8, 15.8)
过程:
普通最小二乘:斜率 = (nΣxy − ΣxΣy) / (nΣxx − (Σx)²) = (8×407.4 − 36×72) / (8×204 − 36²);R² = 1 − SSres / SStot结果: 绘制 8 个点,斜率 1.986,截距 0.064,R² 0.9988,各点几乎完全落在直线上
输入: 噪声更大的 6 点序列:1,4 2,7 3,5 4,9 5,6 6,11
过程:
斜率 = (6×165 − 21×42) / (6×91 − 21²) = 1.029;SStot = 34,SSres = 15.486,故 R² = 1 − 15.486/34结果: 绘制 6 个点,斜率 1.029,截距 3.4,R² 0.5445 —— 确有趋势,但大部分离散未被解释
输入: x 值完全不变的 4 个点:5,10 5,12 5,11 5,9
过程:
nΣxx − (Σx)² = 4×100 − 20² = 0,分母为零,无法拟合任何直线结果: 绘制 4 个点,不绘制趋势线,斜率/截距/R² 三行隐藏 —— 自变量根本没有变化
输入: 含错字混合输入:1,2 oops 3,5.5 4,4 5,9
过程:
片段 'oops' 没有第二个数字,被列为无法读取,其余四对正常参与拟合结果: 绘制 4 个点,无法读取:oops,斜率 1.471,截距 0.343,R² 0.7234
相关搜索
相关搜索:散点图, 散点图生成器, 在线画散点图, 相关性, 相关分析, 趋势线。
散点图散点图生成器在线画散点图相关性相关分析趋势线最佳拟合直线最小二乘法回归直线R平方决定系数线性回归数据可视化统计图表x y 变量图表工具交互式图表导出 SVG 图表双变量分析实验数据作图
常见问题
R² 到底代表什么?多少算高?
R² 是 y 的总变异中被拟合线解释的比例,计算方式是 1 减去残差平方和除以围绕均值的总平方和。R² 等于 0.95 表示这条线解释了 y 变异的百分之九十五,剩下百分之五未解释。它没有普适的门槛:物理仿真合理地可以做到 0.999,而噪声很大的社会数据即使只有 0.3 也仍然是有意义的发现。判断标准应当是研究对象本身本该产生多少残差散布。
R² 很高就证明了一个变量导致另一个吗?
不能,这正是散点图最常被误读的地方。一条 R² 为 0.99 的紧密直线,完全可能是因为存在一个共同的第三变量同时驱动两者,也可能因果方向恰好相反,还可能因果只在你的样本从未测试过的条件下成立。相关是因果的必要条件,但远远不是充分条件。要确立因果关系需要的是设计层面的论证,例如随机分配或可信的自然实验,而不是穿过一片点云拟合成一条直线。
斜率和截距用大白话怎么解释?
斜率是 x 每增加一个单位时 y 的平均变化量,所以斜率为 1.986 意味着在你的数据中,x 每多一个单位,y 平均多出大约两个单位。截距是拟合直线与 y 轴的交点,截距 0.064 表示模型预测 x 为 0 时 y 约等于 0。只有当 x 等于 0 确实落在你观察到的 x 取值范围之内时,截距才值得采信;在范围之外,这条线属于外推,截距只是模型的产物而非观测结果。
为什么有时斜率、截距和 R² 这几行会消失?
有两种情况不会产生拟合结果。第一,需要至少两个不同的点;单个数据点无法确定一条直线。第二,x 值必须有变化。如果所有 x 都相同,最小二乘公式的分母为零,数学上不存在任何一条斜率能有意义地穿过这些没有横向跨度的点。此时图表仍然会绘制,也仍然会报告已绘制点数——这恰恰是你想要的诊断信息,因为它直接告诉你本来想画的那个自变量其实从未变过。
数据框接受哪些输入格式?
支持好几种。一对数据内部可以用逗号、冒号或制表符分隔 x 和 y,数据对之间可以用换行、空格或分号分隔,因为任何连续的空白或分号都算作一对的边界。这意味着一整行 1 2, 3 4; 5 6 也能正确解析。负数、小数和科学计数法都可以,但只含一个数字的数对、或含有字母的片段会被拒绝,并以"无法读取"提示返回,而不会被强行当成 0。
为什么导出的图和在别处设计好的图不一样?
Download SVG 按钮输出的是一份自包含的矢量文件,其中包含标记圆点、按需绘制的趋势线,以及你的坐标轴标题。它不会重现其他工具里的网格线、刻度数字、配色和字体,因为导出的文件被刻意做得精简且可移植。它的用途是直接放进报告、幻灯或出版级插图,并且可以无损缩放,所以坐标轴标题是作为真正的文本写进文件的,而不是只留在屏幕上。
我的数据会被上传到什么地方吗?
不会。数据解析、绘制和最小二乘拟合全部在你的浏览器里完成,不会有任何内容发往服务器,你关闭标签页后也不会留下任何存储或缓存。这意味着公司笔记本上的原始实验数据、未发表的中间结果以及涉及受试者的隐私数据都可以放心粘贴进来分析,不会因为一次误操作而外泄。页面一旦加载完成,在离线机器上同样可以继续使用,完全不受网络状况影响。