프로그램 (PHP,Python)
n8n에서 QuickChart 노드 사용하여 데이터 시각화 차트생성 자동화
날으는물고기
2024. 10. 13. 00:03
n8n에서 QuickChart 노드를 사용하여 일별 수치 정보를 차트로 시각화하는 방법입니다. QuickChart는 다양한 유형의 차트를 쉽게 생성할 수 있는 도구입니다.
1. Google Sheets 노드 설정
- Google Sheets 노드를 추가합니다.
OAuth2 Credentials
를 설정합니다.Operation
을Read
로 설정합니다.Sheet ID
와Range
를 설정하여 일별 수치 정보를 가져옵니다.
2. 데이터 처리 노드 설정
- Set 노드를 추가하여 가져온 데이터의 형식을 맞춥니다.
Property Name
에 원하는 이름을 지정하고Value
에 가져온 데이터의 열을 매핑합니다.
- Function 노드를 사용하여 데이터를 QuickChart에서 사용할 수 있는 형식으로 변환합니다.
Function Code
예시const labels = items.map(item => item.json.date); const data = items.map(item => item.json.value); return [ { json: { labels: labels, datasets: [ { label: 'Daily Values', data: data, borderColor: 'rgba(75, 192, 192, 1)', backgroundColor: 'rgba(75, 192, 192, 0.2)', }, ], }, }, ];
3. QuickChart 노드 설정
- QuickChart 노드를 추가합니다.
Chart Type
을 설정합니다. (예:Line
)Chart Configuration
을 설정합니다:type
: 'line'data
:{ "labels": {{ $json["labels"] }}, "datasets": {{ $json["datasets"] }} }
Options
를 필요에 맞게 설정합니다.
4. 최종 워크플로 설정
- Google Sheets 노드 -> Set 노드 -> Function 노드 -> QuickChart 노드로 연결합니다.
- 필요한 경우 추가적인 데이터 처리나 에러 핸들링 노드를 추가합니다.
예제 워크플로
1. Google Sheets 노드
- Operation: Read
- Sheet ID: your-sheet-id
- Range: 'Sheet1!A:B' (A 열에 날짜, B 열에 수치가 있다고 가정)
2. Set 노드
- Fields:
date
:{{ $json["A"] }}
value
:{{ $json["B"] }}
3. Function 노드
- Code
const labels = items.map(item => item.json.date); const data = items.map(item => item.json.value); return [ { json: { labels: labels, datasets: [ { label: 'Daily Values', data: data, borderColor: 'rgba(75, 192, 192, 1)', backgroundColor: 'rgba(75, 192, 192, 0.2)', }, ], }, }, ];
4. QuickChart 노드
- Chart Type: Line
- Chart Configuration:
{ "type": "line", "data": { "labels": {{ $json["labels"] }}, "datasets": {{ $json["datasets"] }} }, "options": { "responsive": true, "title": { "display": true, "text": "Daily Values" } } }
위의 절차를 따르면 n8n을 사용하여 QuickChart 노드를 통해 일별 수치 정보를 기반으로 차트를 생성할 수 있습니다. 필요에 따라 추가적인 설정이나 커스터마이징을 통해 차트를 더욱 발전시킬 수 있습니다.
외부 사이트를 통해 다양한 차트를 생성하려면 데이터 시각화 서비스를 제공하는 API를 활용하면 됩니다. 대표적인 서비스로는 QuickChart 외에도 Google Charts, Chart.js, Plotly 등이 있습니다. 여기서는 Google Sheets 데이터를 가져와 외부 API를 사용해 차트를 생성하는 방법을 설명하겠습니다. 예제로 QuickChart를 사용하겠습니다.
QuickChart API를 사용한 차트 생성 방법
- Google Sheets에서 데이터 가져오기
- Function 노드를 사용하여 데이터 형식 맞추기
- HTTP Request 노드를 사용하여 QuickChart API 호출
- 결과 확인
1. Google Sheets 노드 설정
- Google Sheets 노드를 추가합니다.
OAuth2 Credentials
를 설정합니다.Operation
을Read
로 설정합니다.Sheet ID
와Range
를 설정하여 일별 수치 정보를 가져옵니다.
2. 데이터 처리 노드 설정
- Set 노드를 추가하여 가져온 데이터의 형식을 맞춥니다.
Property Name
에 원하는 이름을 지정하고Value
에 가져온 데이터의 열을 매핑합니다.
- Function 노드를 사용하여 데이터를 QuickChart에서 사용할 수 있는 형식으로 변환합니다.
Function Code
예시const labels = items.map(item => item.json.date); const data = items.map(item => item.json.value); return [ { json: { labels: labels, datasets: [ { label: 'Daily Values', data: data, borderColor: 'rgba(75, 192, 192, 1)', backgroundColor: 'rgba(75, 192, 192, 0.2)', }, ], }, }, ];
3. HTTP Request 노드 설정
- HTTP Request 노드를 추가합니다.
Method
를POST
로 설정합니다.URL
을https://quickchart.io/chart/create
로 설정합니다.Headers
에Content-Type: application/json
을 추가합니다.Body Parameters
에 아래와 같이 설정합니다:chart
:{ "type": "line", "data": { "labels": {{ $json["labels"] }}, "datasets": {{ $json["datasets"] }} }, "options": { "responsive": true, "title": { "display": true, "text": "Daily Values" } } }
4. 최종 워크플로 설정
- Google Sheets 노드 -> Set 노드 -> Function 노드 -> HTTP Request 노드로 연결합니다.
- 필요한 경우 추가적인 데이터 처리나 에러 핸들링 노드를 추가합니다.
예제 워크플로
1. Google Sheets 노드
- Operation: Read
- Sheet ID: your-sheet-id
- Range: 'Sheet1!A:B' (A 열에 날짜, B 열에 수치가 있다고 가정)
2. Set 노드
- Fields:
date
:{{ $json["A"] }}
value
:{{ $json["B"] }}
3. Function 노드
- Code
const labels = items.map(item => item.json.date); const data = items.map(item => item.json.value); return [ { json: { labels: labels, datasets: [ { label: 'Daily Values', data: data, borderColor: 'rgba(75, 192, 192, 1)', backgroundColor: 'rgba(75, 192, 192, 0.2)', }, ], }, }, ];
4. HTTP Request 노드
- Method: POST
- URL:
https://quickchart.io/chart/create
- Headers:
Content-Type
:application/json
- Body Parameters:
{ "chart": { "type": "line", "data": { "labels": {{ $json["labels"] }}, "datasets": {{ $json["datasets"] }} }, "options": { "responsive": true, "title": { "display": true, "text": "Daily Values" } } } }
이 방법을 따르면 n8n을 사용하여 외부 차트 생성 API를 통해 일별 수치 정보를 시각화할 수 있습니다. 필요에 따라 다른 차트 유형이나 추가 설정을 통해 차트를 커스터마이징할 수 있습니다.
728x90