File size: 4,029 Bytes
88f3fce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# 图表可视化工具

图表可视化工具,通过python生成数据处理代码,最终调用[@visactor/vmind](https://github.com/VisActor/VMind)得到图表的spec结果,图表渲染使用[@visactor/vchart](https://github.com/VisActor/VChart)

## 安装(Mac / Linux)

1. 安装node >= 18

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 激活nvm,以Bash为例
source ~/.bashrc
# 然后安装 Node 最近一个稳定颁布
nvm install node
# 激活使用,例如最新一个稳定颁布为22,则use 22
nvm use 22
```

2. 安装依赖

```bash
cd app/tool/chart_visualization
npm install
```

## 安装(Windows)
1. 安装nvm-windows

    从[github官网](https://github.com/coreybutler/nvm-windows?tab=readme-ov-file#readme)上下载最新版本`nvm-setup.exe`并且安装

2. 使用nvm安装node

```powershell
# 然后安装 Node 最近一个稳定颁布
nvm install node
# 激活使用,例如最新一个稳定颁布为22,则use 22
nvm use 22
```

3. 安装依赖

```bash
# 在当前仓库下定位到相应位置
cd app/tool/chart_visualization
npm install
```
## Tool
### python_execute

用python代码执行数据分析(除数据可视化以外)中需要的部分,包括数据处理,数据总结摘要,报告生成以及一些通用python脚本代码

#### 输入
```typescript
{
  // 代码类型:数据处理/数据报告/其他通用任务
  code_type: "process" | "report" | "others"
  // 最终执行代码
  code: string;
}
```

#### 输出
python执行结果,带有中间文件的保存和print输出结果

### visualization_preparation

数据可视化前置工具,有两种用途,

#### Data -〉 Chart
用于从数据中提取需要分析的数据(.csv)和对应可视化的描述,最终输出一份json配置文件。

#### Chart + Insight -> Chart
选取已有的图表和对应的数据洞察,挑选数据洞察以数据标注的形式增加到图表中,最终生成一份json配置文件。

#### 输入
```typescript
{
  // 代码类型:数据可视化 或者 数据洞察添加
  code_type: "visualization" | "insight"
  // 用于生产最终json文件的python代码
  code: string;
}
```

#### 输出
数据可视化的配置文件,用于`data_visualization tool`


## data_visualization

根据`visualization_preparation`的内容,生成具体的数据可视化

### 输入
```typescript
{
  // 配置文件路径
  json_path: string;
  // 当前用途,数据可视化或者洞察标注添加
  tool_type: "visualization" | "insight";
  // 最终产物png或者html;html下支持vchart渲染和交互
  output_type: 'png' | 'html'
  // 语言,目前支持中文和英文
  language: "zh" | "en"
}
```

## 输出
最终以'png'或者'html'的形式保存在本地,输出保存的图表路径以及图表中发现的数据洞察

## VMind配置

### LLM

VMind本身也需要通过调用大模型得到智能图表生成结果,目前默认会使用`config.llm["default"]`配置

### 生成配置

主要生成配置包括图表的宽高、主题以及生成方式;
### 生成方式
默认为png,目前支持大模型根据上下文自己选择`output_type`

### 宽高
目前默认不指定宽高,`html`下默认占满整个页面,'png'下默认为`1000 * 1000`

### 主题
目前默认主题为`'light'`,VChart图表支持多种主题,详见[主题](https://www.visactor.io/vchart/guide/tutorial_docs/Theme/Theme_Extension)


## 测试

当前设置了三种不同难度的任务用于测试

### 简单图表生成任务

给予数据和具体的图表生成需求,测试结果,执行命令:
```bash
python -m app.tool.chart_visualization.test.chart_demo
```
结果应位于`worksapce\visualization`下,涉及到9种不同的图表结果

### 简单数据报表任务

给予简单原始数据可分析需求,需要对数据进行简单加工处理,执行命令:
```bash
python -m app.tool.chart_visualization.test.report_demo
```
结果同样位于`worksapce\visualization`