like-sci-figures 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +56 -0
- package/README.md +93 -2
- package/cli.js +79 -0
- package/examples/area.json +9 -0
- package/examples/bar.json +15 -0
- package/examples/bland_altman.json +128 -0
- package/examples/bode.json +8 -0
- package/examples/box.json +8 -0
- package/examples/bubble.json +7 -0
- package/examples/contour.json +10 -0
- package/examples/corr_matrix.json +99 -0
- package/examples/dendrogram.json +5 -0
- package/examples/density.json +8 -0
- package/examples/dot_plot.json +8 -0
- package/examples/ecdf.json +377 -0
- package/examples/errorbar.json +7 -0
- package/examples/forest.json +12 -0
- package/examples/heatmap.json +10 -0
- package/examples/hexbin.json +6009 -0
- package/examples/histogram.json +6 -0
- package/examples/kaplan_meier.json +6 -0
- package/examples/line.json +11 -0
- package/examples/manhattan.json +7 -0
- package/examples/panels.json +28 -0
- package/examples/pca.json +12 -0
- package/examples/periodogram.json +7 -0
- package/examples/pie.json +4 -0
- package/examples/radar.json +7 -0
- package/examples/ridge.json +11 -0
- package/examples/roc.json +6 -0
- package/examples/sankey.json +9 -0
- package/examples/scatter3d.json +6 -0
- package/examples/slope.json +6 -0
- package/examples/stacked_bar.json +12 -0
- package/examples/surface.json +11 -0
- package/examples/taylor.json +9 -0
- package/examples/ternary.json +18 -0
- package/examples/venn.json +12 -0
- package/examples/violin.json +9 -0
- package/examples/volcano.json +7 -0
- package/examples/waterfall.json +5 -0
- package/examples/windrose.json +407 -0
- package/package.json +33 -4
- package/requirements.txt +9 -0
- package/scripts/add_chart.py +201 -0
- package/scripts/build_gallery.py +360 -0
- package/scripts/chart_plugin.py +153 -0
- package/scripts/data_loader.py +260 -0
- package/scripts/fig_3d.py +103 -0
- package/scripts/fig_area.py +57 -0
- package/scripts/fig_bar.py +117 -0
- package/scripts/fig_biomed.py +289 -0
- package/scripts/fig_box.py +60 -0
- package/scripts/fig_bubble.py +65 -0
- package/scripts/fig_core.py +195 -0
- package/scripts/fig_datasci.py +276 -0
- package/scripts/fig_distribution.py +59 -0
- package/scripts/fig_engineering.py +224 -0
- package/scripts/fig_environ.py +239 -0
- package/scripts/fig_errorbar.py +49 -0
- package/scripts/fig_forest.py +54 -0
- package/scripts/fig_heatmap.py +51 -0
- package/scripts/fig_line.py +39 -0
- package/scripts/fig_pca.py +101 -0
- package/scripts/fig_pie.py +52 -0
- package/scripts/fig_radar.py +32 -0
- package/scripts/fig_sankey.py +196 -0
- package/scripts/fig_scatter.py +44 -0
- package/scripts/fig_subplots.py +124 -0
- package/scripts/fig_taylor.py +80 -0
- package/scripts/fig_venn.py +80 -0
- package/scripts/fig_windrose.py +82 -0
- package/scripts/font_detector.py +85 -0
- package/scripts/gen_figure.py +583 -0
- package/scripts/generate_samples.py +322 -0
- package/scripts/palette_picker.py +244 -0
- package/scripts/palette_pref.py +179 -0
- package/scripts/palette_preview.py +334 -0
- package/scripts/palettes.py +461 -0
- package/scripts/registry.py +138 -0
- package/scripts/render_utils.py +233 -0
- package/scripts/showcase.py +179 -0
- package/scripts/style_manager.py +267 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
LIKE Sci Figures — Source-Available License (v1.2.0)
|
|
2
|
+
Copyright (c) 2026 LIKE
|
|
3
|
+
|
|
4
|
+
-------------------------------------------------------------------------------
|
|
5
|
+
本作品(LIKE Sci Figures / like-sci-figures,下称"本软件")
|
|
6
|
+
基于 SkillHub 上 science-figures v1.0.1(MIT 兼容社区技能)二次开发而来。
|
|
7
|
+
上游作者的原始版权与 MIT 许可条款随上游代码保留(见文末"上游归属"),
|
|
8
|
+
本派生作品的增量贡献按本许可证发布。
|
|
9
|
+
-------------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
授予的权利(允许)
|
|
12
|
+
|
|
13
|
+
1. 个人与学术使用:为个人科研、教学、学术论文 / 学位论文 / 期刊投稿 / 会议
|
|
14
|
+
海报 / 汇报材料的配图,安装、运行、复制、修改本软件。此类使用无需授权费。
|
|
15
|
+
2. 平台分发:在 SkillHub 平台按其官方分发机制安装与分发本软件。
|
|
16
|
+
3. 内部评估:为评估本软件是否适合某项目而进行的内部试用。
|
|
17
|
+
|
|
18
|
+
限制(不得)
|
|
19
|
+
|
|
20
|
+
4. 商业性再分发 / 转售:不得将本软件或其任何部分、修改版本,作为独立产品或
|
|
21
|
+
服务的核心,进行商业性转售、再分发、出租或对外授权。
|
|
22
|
+
5. 竞争性产品:不得将本软件的源码(或其修改版)用于开发、发布、销售任何与本
|
|
23
|
+
软件构成竞争关系的产品 / 服务,或用于其他商业目的的产品化。
|
|
24
|
+
6. 版权移除:不得移除或遮盖本软件中的版权声明、本许可证、水印标识。
|
|
25
|
+
|
|
26
|
+
免责声明
|
|
27
|
+
|
|
28
|
+
本软件按"AS IS"提供,不附带任何明示或暗示的担保,包括但不限于对适销性、
|
|
29
|
+
特定用途适用性及非侵权的担保。在任何情况下,作者或版权持有人均不对任何
|
|
30
|
+
索赔、损害或其他责任负责,无论是否因合同、侵权或其他原因引起,且无论是否
|
|
31
|
+
源于本软件或本软件的使用或其他交易。
|
|
32
|
+
|
|
33
|
+
-------------------------------------------------------------------------------
|
|
34
|
+
上游归属(MIT License,适用于 science-figures 原始贡献部分)
|
|
35
|
+
|
|
36
|
+
MIT License
|
|
37
|
+
|
|
38
|
+
Copyright (c) 上游作者(science-figures v1.0.1 原始权利持有人)
|
|
39
|
+
|
|
40
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
41
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
42
|
+
in the Software without restriction, including without limitation the rights
|
|
43
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
44
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
45
|
+
furnished to do so, subject to the following conditions:
|
|
46
|
+
|
|
47
|
+
The above copyright notice and this permission notice shall be included in all
|
|
48
|
+
copies or substantial portions of the Software.
|
|
49
|
+
|
|
50
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
51
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
52
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
53
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
54
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
55
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
56
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,94 @@
|
|
|
1
|
-
#
|
|
1
|
+
# like-sci-figures
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Publication-quality academic figure generator** — 40 chart types, 11 journal styles, 34 curated color palettes, CJK auto-detection, 300DPI output. Pure local.
|
|
4
|
+
|
|
5
|
+
Generate publication-ready figures for academic papers, theses, posters, and research reports from JSON/CSV data files. Powered by [scienceplots](https://github.com/garrettj403/SciencePlots) + [matplotlib](https://matplotlib.org/). No GUI, no cloud, **no data leaving your machine**.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 安装
|
|
9
|
+
npm install -g like-sci-figures
|
|
10
|
+
|
|
11
|
+
# 生成图表
|
|
12
|
+
like-sci-figures --type bar --data data.json --out figure.png --style nature
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
- **Python 3.9+** (must be on PATH, or set `LIKE_SCI_PYTHON`)
|
|
20
|
+
- Python dependencies: `matplotlib`, `numpy`, `scipy`, `pillow`
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
python -m pip install -r requirements.txt
|
|
24
|
+
# 可选:启用 LaTeX 级期刊风格(内置等效样式会自动后备)
|
|
25
|
+
pip install scienceplots
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Features
|
|
29
|
+
|
|
30
|
+
- **40 chart types**: bar, grouped bar, stacked bar, heatmap, scatter, line, box, violin, forest, histogram, density, pie, donut, radar, 3D surface, contour, 3D scatter, bubble, area/stacked-area, error-bar, Venn, PCA biplot, wind rose, Taylor diagram, Sankey, multi-panel subplots, volcano, Manhattan, Kaplan-Meier, ROC, ridge, ternary, dot plot, dendrogram, slope, waterfall, Bode, periodogram, correlation matrix, hexbin density, ECDF, Bland-Altman
|
|
31
|
+
- **11 journal styles**: Nature, Science, IEEE, Springer, Lancet, ACS, APS, AAAS, Cell, NEJM, MDPI
|
|
32
|
+
- **34 curated color palettes**: qualitative / sequential / diverging sets via `--palette`, or pass your own hex list
|
|
33
|
+
- **CJK auto-detection**: automatically loads Chinese/Japanese/Korean fonts when needed
|
|
34
|
+
- **Output**: PNG / SVG / PDF at 300 DPI (adjustable via `--dpi`)
|
|
35
|
+
|
|
36
|
+
## CLI Usage
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
like-sci-figures --type <chart> --data <file.json|csv> --out <output.png|svg|pdf> [options]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
| Option | Description |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `--type, -t` | Chart type (required). See full list below. |
|
|
45
|
+
| `--data, -d` | Input data file (JSON or CSV) |
|
|
46
|
+
| `--out, -o` | Output path (`.png` / `.svg` / `.pdf`) |
|
|
47
|
+
| `--title` | Figure title (use `\n` for newline) |
|
|
48
|
+
| `--xlabel` / `--ylabel` | Axis labels |
|
|
49
|
+
| `--style, -s` | Journal style (default `nature`) |
|
|
50
|
+
| `--palette, -p` | Color palette slug or custom hex list |
|
|
51
|
+
| `--dpi` | Output resolution (default 300) |
|
|
52
|
+
| `--list-styles` | List available journal styles and exit |
|
|
53
|
+
| `--list-palettes` | List available palettes and exit |
|
|
54
|
+
| `--verify-all` | Run full engine self-check |
|
|
55
|
+
|
|
56
|
+
### Chart types
|
|
57
|
+
|
|
58
|
+
`bar` `grouped bar` `stacked bar` `heatmap` `scatter` `line` `box` `violin` `forest` `histogram` `density` `pie` `donut` `radar` `surface` `contour` `scatter3d` `bubble` `area` `errorbar` `venn` `pca` `windrose` `taylor` `sankey` `subplots` `volcano` `manhattan` `kaplan_meier` `roc` `ridge` `ternary` `dotplot` `dendrogram` `slope` `waterfall` `bode` `periodogram` `corr_matrix` `hexbin` `ecdf` `bland_altman`
|
|
59
|
+
|
|
60
|
+
### Examples
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Nature-style bar chart with value labels
|
|
64
|
+
like-sci-figures --type bar --data data.json --out figure.png --style nature --show-values
|
|
65
|
+
|
|
66
|
+
# Correlation matrix heatmap (diverging palette)
|
|
67
|
+
like-sci-figures --type corr_matrix --data corr.json --out corr.png --palette wx06_amber_navy
|
|
68
|
+
|
|
69
|
+
# Hexbin density plot with 1:1 line
|
|
70
|
+
like-sci-figures --type hexbin --data obs.json --out hex.png --style cell --palette viridis
|
|
71
|
+
|
|
72
|
+
# Multi-panel subplots
|
|
73
|
+
like-sci-figures --type subplots --data panel.json --out grid.png --layout 2x3 --style ieee
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Data Format
|
|
77
|
+
|
|
78
|
+
JSON/CSV with a flexible schema that adapts to each chart type. Example for a bar chart:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"categories": ["PM2.5", "PM10", "SO2", "NO2"],
|
|
83
|
+
"values": [38.2, 61.4, 9.1, 24.6],
|
|
84
|
+
"errors": [3.1, 4.2, 0.8, 2.0]
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Environment
|
|
89
|
+
|
|
90
|
+
- `LIKE_SCI_PYTHON` — path to a specific Python interpreter (default: `python` / `python3` on PATH)
|
|
91
|
+
|
|
92
|
+
## License
|
|
93
|
+
|
|
94
|
+
Source-Available License (see `LICENSE`). Personal and academic use permitted; commercial redistribution and competing productization prohibited. Upstream MIT attribution preserved.
|
package/cli.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* like-sci-figures — npm CLI 入口
|
|
6
|
+
*
|
|
7
|
+
* 本包是 Python 图表引擎(skill/scripts/)的轻量 Node 包装器:
|
|
8
|
+
* 定位 Python 解释器 → 检查依赖 → 透传全部参数给 scripts/gen_figure.py。
|
|
9
|
+
* 引擎本身是纯 Python(matplotlib + scienceplots),本文件只负责调度与报错。
|
|
10
|
+
*
|
|
11
|
+
* 环境变量:
|
|
12
|
+
* LIKE_SCI_PYTHON 指定 Python 解释器路径(默认依次尝试 python / python3)
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const { spawn, spawnSync } = require('child_process');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
const fs = require('fs');
|
|
18
|
+
|
|
19
|
+
const PKG_DIR = __dirname;
|
|
20
|
+
const ENGINE = path.join(PKG_DIR, 'scripts', 'gen_figure.py');
|
|
21
|
+
const REQ_FILE = path.join(PKG_DIR, 'requirements.txt');
|
|
22
|
+
|
|
23
|
+
function findPython() {
|
|
24
|
+
const candidates = [];
|
|
25
|
+
if (process.env.LIKE_SCI_PYTHON) candidates.push(process.env.LIKE_SCI_PYTHON);
|
|
26
|
+
candidates.push('python', 'python3');
|
|
27
|
+
for (const c of candidates) {
|
|
28
|
+
try {
|
|
29
|
+
const r = spawnSync(c, ['--version'], { encoding: 'utf8' });
|
|
30
|
+
if (r.status === 0) return { cmd: c, viaEnv: c === process.env.LIKE_SCI_PYTHON };
|
|
31
|
+
} catch (e) { /* keep trying */ }
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function checkDeps(py) {
|
|
37
|
+
const r = spawnSync(
|
|
38
|
+
py,
|
|
39
|
+
['-c', 'import matplotlib, numpy, scipy, PIL, sys'],
|
|
40
|
+
{ encoding: 'utf8' }
|
|
41
|
+
);
|
|
42
|
+
if (r.status === 0) return null;
|
|
43
|
+
return (r.stderr || r.stdout || '').trim();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const py = findPython();
|
|
47
|
+
if (!py) {
|
|
48
|
+
console.error(
|
|
49
|
+
'[like-sci-figures] 未找到 Python 解释器。\n' +
|
|
50
|
+
' 请安装 Python 3.9+ 并加入 PATH,或通过环境变量指定:\n' +
|
|
51
|
+
' set LIKE_SCI_PYTHON=C:\\path\\to\\python.exe (Windows)\n' +
|
|
52
|
+
' export LIKE_SCI_PYTHON=/usr/bin/python3 (macOS/Linux)'
|
|
53
|
+
);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const depErr = checkDeps(py.cmd);
|
|
58
|
+
if (depErr) {
|
|
59
|
+
console.error(
|
|
60
|
+
'[like-sci-figures] Python 依赖缺失(matplotlib / numpy / scipy / pillow)。\n' +
|
|
61
|
+
' 请安装依赖:\n' +
|
|
62
|
+
' ' + py.cmd + ' -m pip install -r ' + REQ_FILE + '\n' +
|
|
63
|
+
' 缺失详情:\n' + depErr
|
|
64
|
+
);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (!fs.existsSync(ENGINE)) {
|
|
69
|
+
console.error('[like-sci-figures] 引擎缺失:' + ENGINE);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// 透传所有 CLI 参数给 Python 引擎;stdin/out/err 继承
|
|
74
|
+
const child = spawn(py.cmd, [ENGINE, ...process.argv.slice(2)], { stdio: 'inherit' });
|
|
75
|
+
child.on('error', (err) => {
|
|
76
|
+
console.error('[like-sci-figures] 无法启动引擎:' + err.message);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
});
|
|
79
|
+
child.on('exit', (code) => process.exit(code === null ? 0 : code));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"labels": ["Control", "Treat A", "Treat B", "Treat C"],
|
|
3
|
+
"series": {
|
|
4
|
+
"Metric 1": [12.5, 18.3, 15.2, 21.0],
|
|
5
|
+
"Metric 2": [10.0, 14.5, 16.8, 19.2]
|
|
6
|
+
},
|
|
7
|
+
"errors": {
|
|
8
|
+
"Metric 1": [1.2, 0.8, 1.5, 1.1],
|
|
9
|
+
"Metric 2": [0.9, 1.1, 0.7, 1.3]
|
|
10
|
+
},
|
|
11
|
+
"significance": {
|
|
12
|
+
"0,1": "**",
|
|
13
|
+
"2,3": "NS"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x": [
|
|
3
|
+
92.25,
|
|
4
|
+
52.07,
|
|
5
|
+
87.9,
|
|
6
|
+
60.94,
|
|
7
|
+
106.17,
|
|
8
|
+
93.52,
|
|
9
|
+
26.69,
|
|
10
|
+
97.63,
|
|
11
|
+
52.85,
|
|
12
|
+
37.96,
|
|
13
|
+
76.95,
|
|
14
|
+
61.01,
|
|
15
|
+
56.33,
|
|
16
|
+
21.77,
|
|
17
|
+
102.22,
|
|
18
|
+
37.14,
|
|
19
|
+
24.13,
|
|
20
|
+
67.97,
|
|
21
|
+
30.3,
|
|
22
|
+
87.78,
|
|
23
|
+
60.87,
|
|
24
|
+
43.87,
|
|
25
|
+
31.65,
|
|
26
|
+
112.2,
|
|
27
|
+
96.59,
|
|
28
|
+
27.32,
|
|
29
|
+
112.21,
|
|
30
|
+
100.12,
|
|
31
|
+
40.1,
|
|
32
|
+
107.61,
|
|
33
|
+
84.21,
|
|
34
|
+
51.36,
|
|
35
|
+
61.6,
|
|
36
|
+
85.33,
|
|
37
|
+
25.26,
|
|
38
|
+
41.33,
|
|
39
|
+
72.81,
|
|
40
|
+
38.59,
|
|
41
|
+
102.61,
|
|
42
|
+
41.36,
|
|
43
|
+
28.11,
|
|
44
|
+
109.03,
|
|
45
|
+
37.69,
|
|
46
|
+
98.02,
|
|
47
|
+
78.55,
|
|
48
|
+
68.99,
|
|
49
|
+
64.31,
|
|
50
|
+
100.46,
|
|
51
|
+
107.38,
|
|
52
|
+
75.49,
|
|
53
|
+
100.84,
|
|
54
|
+
117.13,
|
|
55
|
+
101.2,
|
|
56
|
+
79.24,
|
|
57
|
+
33.96,
|
|
58
|
+
44.54,
|
|
59
|
+
54.81,
|
|
60
|
+
26.09,
|
|
61
|
+
65.68,
|
|
62
|
+
41.88
|
|
63
|
+
],
|
|
64
|
+
"y": [
|
|
65
|
+
94.61,
|
|
66
|
+
48.7,
|
|
67
|
+
93.2,
|
|
68
|
+
61.48,
|
|
69
|
+
111.44,
|
|
70
|
+
89.42,
|
|
71
|
+
28.78,
|
|
72
|
+
98.9,
|
|
73
|
+
54.84,
|
|
74
|
+
42.74,
|
|
75
|
+
78.88,
|
|
76
|
+
69.11,
|
|
77
|
+
61.2,
|
|
78
|
+
14.92,
|
|
79
|
+
102.57,
|
|
80
|
+
35.09,
|
|
81
|
+
28.34,
|
|
82
|
+
69.28,
|
|
83
|
+
27.53,
|
|
84
|
+
88.61,
|
|
85
|
+
57.2,
|
|
86
|
+
50.58,
|
|
87
|
+
34.6,
|
|
88
|
+
108.47,
|
|
89
|
+
105.92,
|
|
90
|
+
34.64,
|
|
91
|
+
114.24,
|
|
92
|
+
104.52,
|
|
93
|
+
34.34,
|
|
94
|
+
104.27,
|
|
95
|
+
87.35,
|
|
96
|
+
51.39,
|
|
97
|
+
65.13,
|
|
98
|
+
92.97,
|
|
99
|
+
27.89,
|
|
100
|
+
42.84,
|
|
101
|
+
68.38,
|
|
102
|
+
25.51,
|
|
103
|
+
102.02,
|
|
104
|
+
33.35,
|
|
105
|
+
22.69,
|
|
106
|
+
106.13,
|
|
107
|
+
32.06,
|
|
108
|
+
102.26,
|
|
109
|
+
80.65,
|
|
110
|
+
70.51,
|
|
111
|
+
67.75,
|
|
112
|
+
98.65,
|
|
113
|
+
106.84,
|
|
114
|
+
75.5,
|
|
115
|
+
101.98,
|
|
116
|
+
112.54,
|
|
117
|
+
108.48,
|
|
118
|
+
80.27,
|
|
119
|
+
34.51,
|
|
120
|
+
45.55,
|
|
121
|
+
53.67,
|
|
122
|
+
23.19,
|
|
123
|
+
70.97,
|
|
124
|
+
45.5
|
|
125
|
+
],
|
|
126
|
+
"xlabel": "Mean of two analyzers (ug/m3)",
|
|
127
|
+
"ylabel": "Difference (Analyzer1 - Analyzer2)"
|
|
128
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"freq": [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0, 100.0],
|
|
3
|
+
"mag": [60, 55, 48, 40, 30, 20, 10, 0, -10, -20, -30, -40, -50],
|
|
4
|
+
"phase": [0, 0, -10, -30, -45, -60, -75, -85, -95, -105, -115, -125, -135],
|
|
5
|
+
"gain_db": true,
|
|
6
|
+
"phase_deg": true,
|
|
7
|
+
"freq_hz": true
|
|
8
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"series": {
|
|
3
|
+
"PM2.5": [
|
|
4
|
+
-0.94,
|
|
5
|
+
0.44,
|
|
6
|
+
-1.97,
|
|
7
|
+
1.35,
|
|
8
|
+
0.83,
|
|
9
|
+
0.26,
|
|
10
|
+
-0.53,
|
|
11
|
+
0.71,
|
|
12
|
+
-0.64,
|
|
13
|
+
-0.17,
|
|
14
|
+
0.37,
|
|
15
|
+
0.92,
|
|
16
|
+
0.19,
|
|
17
|
+
0.26,
|
|
18
|
+
-0.1,
|
|
19
|
+
-0.41,
|
|
20
|
+
-0.56,
|
|
21
|
+
0.41,
|
|
22
|
+
0.02,
|
|
23
|
+
-1.11
|
|
24
|
+
],
|
|
25
|
+
"PM10": [
|
|
26
|
+
-0.45,
|
|
27
|
+
-0.15,
|
|
28
|
+
-1.74,
|
|
29
|
+
1.7,
|
|
30
|
+
0.74,
|
|
31
|
+
0.16,
|
|
32
|
+
0.87,
|
|
33
|
+
-0.2,
|
|
34
|
+
1.09,
|
|
35
|
+
1.42,
|
|
36
|
+
1.31,
|
|
37
|
+
0.77,
|
|
38
|
+
-0.38,
|
|
39
|
+
0.44,
|
|
40
|
+
-0.11,
|
|
41
|
+
-0.44,
|
|
42
|
+
-0.43,
|
|
43
|
+
0.53,
|
|
44
|
+
0.55,
|
|
45
|
+
-1.24
|
|
46
|
+
],
|
|
47
|
+
"SO2": [
|
|
48
|
+
-0.02,
|
|
49
|
+
-0.65,
|
|
50
|
+
0.65,
|
|
51
|
+
-1.55,
|
|
52
|
+
-0.84,
|
|
53
|
+
0.82,
|
|
54
|
+
-0.11,
|
|
55
|
+
-0.05,
|
|
56
|
+
-0.45,
|
|
57
|
+
0.22,
|
|
58
|
+
-1.3,
|
|
59
|
+
-0.66,
|
|
60
|
+
1.17,
|
|
61
|
+
-0.24,
|
|
62
|
+
0.46,
|
|
63
|
+
0.6,
|
|
64
|
+
0.17,
|
|
65
|
+
-0.66,
|
|
66
|
+
0.72,
|
|
67
|
+
0.74
|
|
68
|
+
],
|
|
69
|
+
"NO2": [
|
|
70
|
+
1.53,
|
|
71
|
+
-0.72,
|
|
72
|
+
0.06,
|
|
73
|
+
0.47,
|
|
74
|
+
0.37,
|
|
75
|
+
-1.23,
|
|
76
|
+
-0.66,
|
|
77
|
+
-0.2,
|
|
78
|
+
-0.85,
|
|
79
|
+
0.68,
|
|
80
|
+
0.59,
|
|
81
|
+
-1.96,
|
|
82
|
+
-1.81,
|
|
83
|
+
-1.28,
|
|
84
|
+
0.12,
|
|
85
|
+
2.03,
|
|
86
|
+
-0.38,
|
|
87
|
+
0.25,
|
|
88
|
+
-1.06,
|
|
89
|
+
-1.05
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"labels": [
|
|
93
|
+
"PM2.5",
|
|
94
|
+
"PM10",
|
|
95
|
+
"SO2",
|
|
96
|
+
"NO2"
|
|
97
|
+
],
|
|
98
|
+
"method": "pearson"
|
|
99
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"series": {
|
|
3
|
+
"对照组": [1.2, 2.3, 2.1, 3.4, 2.8, 3.1, 2.9, 2.2, 2.6, 3.0, 2.4, 2.7],
|
|
4
|
+
"处理组": [3.1, 3.9, 4.2, 3.5, 4.4, 3.7, 4.0, 3.3, 4.1, 3.8, 3.6, 4.3],
|
|
5
|
+
"对照": [1.2, 2.3, 2.1, 3.4, 2.8, 3.1, 2.9, 2.2, 2.6, 3.0, 2.4, 2.7],
|
|
6
|
+
"处理": [3.1, 3.9, 4.2, 3.5, 4.4, 3.7, 4.0, 3.3, 4.1, 3.8, 3.6, 4.3]
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
3
|
+
"y": [2.1, 2.5, 2.3, 2.8, 3.0, 2.7, 3.2, 3.5, 3.1, 3.8, 1.5, 1.8, 1.6, 2.0, 2.2, 1.9, 2.4, 2.7, 2.3, 3.0],
|
|
4
|
+
"labels": ["P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9", "P10", "P11", "P12", "P13", "P14", "P15", "P16", "P17", "P18", "P19", "P20"],
|
|
5
|
+
"group": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
|
6
|
+
"size": [50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50],
|
|
7
|
+
"color_by": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
|
8
|
+
}
|