# 선 차트

> 선 차트의 참고 문서입니다. 계열, 축과 쌓아 놓은 플롯, 표시 구간과 보관, 그리기 충실도, 그리고 도구 모음을 다룹니다.

**선 차트**는 포인트를 시간에 따라 따라갑니다. 계열마다 Logic 주소 하나를 읽고, 차트 자신의 주기로 표본을 떠 스테이션의 실시간 계열 수집기에 담으므로, 차트는 빈 축이 아니라 채워진 구간으로 열립니다. 같은 그림이 [Process](process)와 [이력](histories)에서 실행의 기록된 차트로도 쓰입니다. 대시보드가 보태는 것은 설정이 어디에서 오는지, 곧 이 구성 요소 자신의 속성입니다.

## 내용 {#content}

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 차트 제목 | 플롯 안에 그리는 머리말이며 없어도 됩니다. 차트 자신의 머리말이지 구성 요소의 모서리 제목이 아닙니다(그것은 공통 모양 구역에 있습니다). | 글 | 비어 있음 |

## 계열 {#series}

계열마다 카드 하나이며 선언한 순서를 따릅니다. **계열 추가**가 하나를 덧붙이고, 카드마다 다음을 담습니다.

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 주소 | 그 계열이 읽는 뿌리 있는 Logic 주소입니다. 살아 있는 포인트 목록에서 숫자 포인트만 걸러 제안하고, 이름을 부르고 나면 그 포인트의 지금 읽은 값을 보여 줍니다. | 주소 | 비어 있음 |
| 이름 | 범례와 툴팁이 그 계열을 부르는 말입니다. | 글 | 비우면 주소로 물러납니다 |
| 색 | 선의 색이며 `#RRGGBB`로 적습니다. | 16진수 색 | 비우면 팔레트의 차례를 가져옵니다 |
| 소수 자릿수 | 커서 아래에서 이 계열의 값을 몇 자리로 적는지입니다. 한 차트의 채널들을 같은 정밀도로 읽지는 않으므로 계열마다 따로 둡니다. 소수 자리가 없는 개수 옆에 두 자리로 읽는 압력이 놓이는 식입니다. | 0에서 15 | 비우면 스테이션 설정을 씁니다 |
| 결측을 건너뛰고 선 잇기 | 이 계열이 읽히지 않은 자리에서 선이 무엇을 하는지입니다. 끄면 선이 구멍에서 끊깁니다. 스테이션이 그 구간에 대해 가진 것이 없으므로 그것이 정직한 그림입니다. 켜면 곧게 이어 가는데, 쓰기와 쓰기 사이에 그냥 유지되던 설정값은 그렇게 읽습니다. | 켬 / 끔 | 끔 |
| 플롯 | 차트가 쌓아 놓은 플롯 가운데 어디에 이 계열을 그리는지입니다. 차트 자신의 플롯 아래에 플롯이 있을 때에만 묻습니다. | 플롯 1(차트 자신의 플롯) · 플롯 2에서 플롯 4(쌓아 놓은 플롯) | 플롯 1 |
| 속한 축 | 그 계열이 어느 값 축에 맞춰지는지입니다. 첫 번째이거나 두 번째입니다. 두 번째 축이 있을 때 차트 자신의 플롯 안에서만 묻습니다. 쌓아 놓은 플롯의 계열은 그 플롯의 하나뿐인 축을 씁니다. | 첫 번째 · 두 번째 | 첫 번째 |
| 이 계열 그리기 | 그 계열이 캔버스에 닿기는 하는지입니다. 저장되므로, 그림에서 빼 둔 채널은 다음에 화면을 열 때에도 빠져 있습니다. 도구 모음의 보이기와 숨기기 몸짓은 들여다보기 위한 것이고, 이것은 화면을 만들기 위한 것입니다. | 켬 / 끔 | 켬 |

## 차트 {#chart}

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 모양 | 모든 계열이 축 위에서 가지는 모양입니다. 이어지는 측정은 선, 그 아래를 합한 것은 영역, 다시 쓰일 때까지 유지되는 값은 계단, 구간마다의 양은 시간에 따른 막대입니다. | 선 · 영역 · 계단 · 시간에 따른 막대 | 선 |
| 범례 | 범례가 앉는 자리입니다. | 플롯 위 · 플롯 아래 · 없음 | 플롯 위 |
| 이동 | 운전자가 시간 축을 얼마나 걸어 다닐 수 있는지입니다. 아무것도 움직이지 않는 고정된 구간, 플롯 위에서의 휠과 끌기, 또는 휠과 끌기에 더해 표시 구간이 어디에 놓였는지 알리는 이동 막대를 플롯 아래에 두는 것입니다. | 고정된 구간 · 휠과 끌기 · 휠과 이동 막대 | 휠과 끌기 |

## 축 {#axes}

축마다 카드 하나입니다. 이름, 단위(이름 뒤에 괄호로 붙습니다), 눈금 수, 그리고 값 축에는 고정한 양 끝과 어느 쪽에 그릴지가 있습니다.

**시간 축**

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 세는 대상 | 축이 샘플의 자리를 어떻게 보여 주는지입니다. 표시 구간의 가장자리를 기준으로 한 경과 시간, 벽시계 시각(스테이션의 지역화 설정에 따라 적힙니다), 또는 그냥 샘플 번호입니다. | 구간이 열린 뒤의 시간 · 시계 · 샘플 번호 | 구간이 열린 뒤의 시간 |
| 이름 / 단위 | 축의 이름과 단위입니다. | 글 | 비어 있음 |
| 눈금 수 | 축에 요청하는 눈금 칸 수입니다. 적어 넣은 수는 엔진이 반올림한 값이 허락하는 만큼 지켜 주는 힌트이지, 그만큼의 눈금을 주겠다는 약속이 아닙니다. | 2에서 20 | 비움(자동) |

**값 축**(그리고 첫 번째 축과 아무 상관이 없는 눈금의 계열을 위한, 없어도 되는 **두 번째 값 축**. 두 번째 축이 없으면 모든 계열이 하나뿐인 눈금을 함께 씁니다)

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 이름 / 단위 / 눈금 수 | 시간 축과 같습니다. | | |
| 최소 / 최대 | 눈금을 붙잡아 두는 양 끝입니다. 그냥 두면 값 축이 샘플마다 다시 잡히므로 가장 높은 선이 언제나 표시 구간의 맨 위에 놓이고 1분 전과 견줄 수 있는 것이 없어집니다. 끝을 고정하면 그것이 멈춥니다. 두 끝은 저마다 따로 고정합니다. 바닥만 고정하면 0 선을 지키면서 천장은 숨을 쉽니다. | 숫자 | 비움(자동) |
| 그리는 쪽 | 자가 플롯의 어느 가장자리에 서는지입니다. | 왼쪽 · 오른쪽 | 왼쪽 |

**플롯 옆의 자리.** 이름도 단위도 없는 값 축은 차트 폭과 상관없이 숫자 옆에 얇은 여백만 남깁니다. 이름이나 단위가 있는 값 축은 회전된 이름에 필요한 자리를 남깁니다. 같은 가장자리에 그려지는 두 번째 값 축은 첫 번째 값 축의 숫자와 이름 바깥쪽에 섭니다. 값 축과 읽을 수 있는 플롯이 함께 필요로 하는 폭보다 차트가 좁게 그려지면 두 번째 값 축이 숫자를 더 이상 쓰지 않습니다. 그 계열은 자기 눈금대로 그려지고, 읽은 값은 툴팁에 남습니다. 차트를 넓히면 숫자가 돌아옵니다.

## 쌓아 놓은 플롯 {#stacked-plots}

같은 순간에 읽은 두 양이 자를 함께 써야 하는 것은 아닙니다. 차트 자신의 플롯 아래에 쌓은 플롯은 자기만의 눈금과 같은 시간 축을 가지므로, 온도와 유량이 서로의 자에 눌려 담기는 대신 위아래로 나란히 읽힙니다. 차트는 최대 **플롯 네 개 높이**입니다. 자신의 플롯과 그 아래에 쌓는 최대 세 개입니다. 쌓아 놓은 플롯의 카드마다 자기 축(이름, 단위, 눈금 수, 고정한 양 끝, 그리는 쪽)과 다음을 담습니다.

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 높이 | 차트 자신의 플롯을 1로 보았을 때 이 플롯을 얼마나 높게 그리는지입니다. | 0.25에서 4 | 1 |

계열은 자기 카드에서 어느 플롯에 놓일지 밝힙니다.

## 판정 {#evaluation}

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 진행 중인 실행의 허용 범위 그리기 | 유닛이 지금 실행하고 있는 실행의 허용 띠를 계열 뒤에 그립니다. 한계는 유닛이 지금 도는 절차의 판정에서 오며, 기준 채널을 따르는 한계는 그 채널과 함께 움직입니다. 자기 유닛을 따로 부르지 않습니다. 유닛은 계열이 이미 읽고 있는 그 유닛입니다. 모델의 화면에서는 어떤 유닛이 그 화면을 열 때 정해지고, 유닛을 읽지 않는 화면에는 따라갈 실행이 없습니다. | 켬 / 끔 | 끔 |

화면의 차트가 도는 절차를 따라가는 방법이 이것입니다. 이력에 기록된 실행의 차트는 이미 자기 실행의 띠를 담고 있습니다.

판정 띠에는 판정 기준의 이름이 붙으며, 차트의 어떤 선도 가로지르지 않는 띠의 첫 번째 모서리에 오른쪽 위부터 차례로 쓰입니다. 모든 모서리와 양 끝의 가운데를 선이 가로지르면 판정 띠는 이름 없이 그려집니다.

## 이력 {#history}

서로 다른 두 손잡이입니다. 표시 구간은 차트가 담아 보여 주는 것이고, 보관은 스테이션이 그 뒤에 쥐고 있는 것입니다. 차트가 10분을 보관하면서 마지막 1분을 담아 보여 줄 수 있으므로, 거슬러 이동하면 빈 축을 만나는 대신 보관해 둔 것을 걸어 다니게 됩니다. 샘플은 메모리에 있고, 애플리케이션을 다시 시작하면 수집도 처음부터 다시 합니다.

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 보이기 | 표시 구간이 무엇으로 열리는지입니다. 가장 최근 샘플을 따라가는 흐르는 구간이거나, 아무리 멀리 거슬러 가더라도 스테이션이 이 차트에 대해 보관한 것 전부입니다. | 흐르는 구간 · 보관한 것 전부 | 흐르는 구간 |
| 표시 구간(s) | 흐르는 표시 구간이 보여 주는 길이입니다. 표시 구간이 흐를 때에만 묻습니다. | 5에서 86,400(1일) | 60 |
| 표본 주기(ms) | 차트 자신이 표본을 뜨는 주기입니다. 이것을 바꾸면 지금부터 새 버퍼가 시작합니다. 주기는 모은 계열의 정체를 이루는 일부이기 때문입니다. | 100(로직 주기)에서 3,600,000(1시간) | 500 |
| 보관 | 보관하는 수가 무엇을 뜻하는지입니다. | 표시 구간만큼 · 일정한 시간만큼 · 일정한 샘플 수만큼 | 표시 구간만큼 |
| 보관 시간(s) | 보관이 일정한 시간만큼일 때 계열마다 지키는 길이입니다. | 5에서 604,800(7일) | 600 |
| 보관(샘플 수) | 보관이 일정한 샘플 수만큼일 때 계열마다 지키는 개수입니다. | 2에서 20,000 | 2,000 |

스테이션은 세 가지 상한 안에서 보관을 내줍니다. 포인트마다 20,000 샘플, 구성 요소마다 60,000, 그리고 스테이션 전체로 200,000입니다. 상한 때문에 다 내주지 못한 보관은 편집기만이 아니라 차트 아래에서도 말합니다. 스테이션 자신의 상한을 이미 다 쓴 경우 새 계열은 아무것도 모으지 않고 그렇게 말합니다. "스테이션이 허용하는 이력을 이미 다 쓰고 있으므로 이 계열은 아무것도 모으지 않습니다. 다른 차트의 보관 기간을 줄여 자리를 내십시오."

## 충실도와 성능 {#fidelity-and-performance}

데이터가 캔버스에 얼마나 닿는지이며, 이 차트에서 결과가 가장 크게 갈리는 설정입니다. 모든 샘플을 그리면 채널과 표시 구간이 커질수록 느려지고, 말없이 줄이는 것은 그보다 나쁩니다. 줄이는 일은 **그릴 때 일어나고 저장된 것에서는 결코 일어나지 않으며**, **알아서 맞춥니다**. 차트는 보이는 범위 안의 포인트를 세고, 기준 아래에서는 줄이기가 사라집니다. 확대하면 언제나 진짜 데이터가 드러납니다.

**미리 정한 조합**은 모든 항목을 한꺼번에 채웁니다. 항목 하나만 건드려도 그 묶음은 스스로 사용자 지정이 됩니다. 값 말고는 아무것도 따로 저장하지 않기 때문입니다.

| 미리 정한 조합 | 무엇을 적어 넣는지 |
|---|---|
| 최대 충실도 | 기준 100,000(어떤 캔버스도 그만큼 분해하지 못하므로 사실상 줄이지 않음), 봉우리 보존, 포인트 1,000개까지 표식, 표시 구간 밖도 그리기, 움직임 없음, 모서리에 방식 표시. |
| 균형 | 차트가 태어날 때 가지는 값입니다(아래). |
| 최대 성능 | 기준 400, 구간마다 평균, 표식 없음, 표시 구간 밖은 아무것도 그리지 않음, 움직임 없음, 방식 표시 없음. |
| 사용자 지정 | 고르는 것이 아닙니다. 항목이 이름 붙은 어느 묶음과도 맞지 않을 때 나오는 읽기 표시입니다. |

| 속성 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| 모든 샘플을 그리는 한계 | 보이는 범위 안의 포인트가 몇 개 아래일 때 줄이기를 끄는지입니다. 그린 모든 계열을 합친 그림 전체를 셉니다. | 100에서 100,000 | 2,000 |
| 그 위에서 남길 것 | 기준을 넘었을 때 어느 줄이기가 도는지이며, 무엇을 지키는지로 이름을 붙였습니다. 구간마다의 최소 *와* 최대(한 샘플만 지속된 봉우리도 버려지지 않습니다), 곡선의 윤곽을 지키는 점, 또는 구간마다의 평균입니다. 마지막 것이 가장 값싸고, 봉우리를 뭉개는 것도 그것입니다. | 봉우리 보존 · 모양 보존 · 평균 | 봉우리 보존 |
| 샘플마다 표식을 그리는 한계 | 보이는 포인트가 몇 개까지 저마다 표식을 달 수 있는지입니다. 0이면 그리지 않습니다. 표식은 줄이기가 꺼져 있는 동안에만 뜻이 있습니다. | 0에서 5,000 | 200 |
| 표시 구간 밖에 있는 것도 그립니다 | 보이는 범위 밖에 있는 것을 그리기는 하는지입니다(거칠게 그립니다. 표시 구간에 들어오는 순간 다시 진짜 데이터가 됩니다). | 켬 / 끔 | 켬 |
| 그릴 때 움직임을 줍니다 | 그릴 때 움직임을 줄지입니다. 미끄러지는 실시간 데이터는 읽기 어려우므로 꺼져 있습니다. | 켬 / 끔 | 끔 |
| 차트가 어느 방식으로 그리는지 모서리에 적습니다 | 화면이 측정 그대로를 보여 주는지 줄인 것을 보여 주는지를 알리는, 눈에 띄지 않는 모서리 표시입니다. 운전용 화면에서는 군더더기이고 분석용 화면에서는 꼭 필요합니다. | 켬 / 끔 | 끔 |

입력란 아래의 어림값이 그 설정이 얼마나 드는지를 적는 대로 실시간으로 말해 줍니다.

## 도구 모음 {#toolbox}

**도구 모음** 구역은 이 차트에서 운전자가 어떤 단추를 받을지 고릅니다. 그래서 운전자가 눈금을 움직이면 안 되는 운전용 화면이 분석용 화면의 도구 막대를 달고 있지 않게 됩니다. 하나도 고르지 않으면 도구 막대를 아예 그리지 않습니다.

| 도구 | 하는 일 | 기본 묶음에 들어 있는지 |
|---|---|---|
| 영역을 골라 확대하기 | 플롯 위에서 상자 선택 확대를 겁니다. | 예 |
| 확대 되돌리기 | 표시 구간을 그려진 전체로 되돌립니다. | 예 |
| 눈금을 직접 정하기 | 시간 기간과 값 범위를 손으로 고정하거나, 어느 쪽이든 다시 맞춤에 맡깁니다. 무엇인가 고정되어 있는 동안 단추에 불이 켜집니다. 샘플을 하나도 담지 않은 고정 구간은 멈춘 차트처럼 읽히는 대신 그림 아래에서 그렇게 말합니다. | 아니요 |
| 보이는 구간의 최소, 평균, 최대 | 지금 보여 주는 구간 안에서 계열마다의 가장 낮은 값, 평균, 가장 높은 값을 담은 패널을 엽니다. 패널이 열려 있는 동안에만 잽니다. | 아니요 |
| 기준선 그리기 | 어떤 값이나 어떤 시각에 선을 긋습니다. 선은 화면이 열려 있는 동안에만 살아 있고 아무것도 저장되지 않으며, 선이 하나라도 그려져 있으면 단추에 불이 켜집니다. | 아니요 |
| PNG 저장 | 그림을 PNG로 내려받습니다. | 예 |
| PNG 복사 | 그림을 PNG로 클립보드에 올립니다. | 예 |
| 계열 보이기와 숨기기 | 화면을 고치지 않고 계열 하나를 보이거나 감춥니다. | 예 |
| 툴팁 켜고 끄기 | 마우스를 올렸을 때 나오는 툴팁을 켜고 끕니다. | 예 |
| 전체 화면 | 이 차트로 창을 채웁니다. | 예 |

**이동**이 "고정된 구간"이면 이 구역은 "영역을 골라 확대하기"와 "확대 되돌리기"를 목록에서 빼고, 도구 막대도 그 둘을 그리지 않습니다. 고정된 구간은 아무것도 걸어 다니지 않으므로 그 둘은 아무것에도 답할 수 없기 때문입니다. 체크 상태는 그대로 남으므로, 구간을 다시 움직일 수 있게 하면 둘도 돌아옵니다.

## 모델의 화면에서 {#on-a-models-screen}

Process 모델 위에 정의된 화면에서는 계열의 주소 입력란이 모델의 추상 채널을 앞에 세웁니다. 그 가운데 하나를 고르면 채널이 바인딩되고, 유닛은 어떤 유닛이 그 화면을 열 때 답해집니다. 스테이션 자신의 포인트는 그 뒤에 자기 자리를 지킵니다. 모델의 화면이 그런 포인트를 읽는 것도 정당한 일이기 때문입니다.
