선 차트

마지막 업데이트: 2022년 2월 22일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

엑셀 중급_차트 – 꺾은선 차트의 선 디자인

엑셀에서 묶음 막대형 그래프 다음으로 많이 쓰이는 것이 꺾은선형 그래프 이며 시간의 변화에 따른 데이터를 표기하는데 탁월 합니다. 그러나 만약 이 차트를 인쇄할 경우 선이 겹쳐지는 부분이 있으면 프린터가 흑백일 경우 구분 하기가 매우 어렵습니다. 이럴 때는 차트에 삼각형, 네모 같은 표식을 넣어주어 구분하면 됩니다. 엑셀 차트의 계열 선 차트 하나 하나는 모두 각자 서식을 따로 가지고 있으므로 선 하나 하나의 디자인을 다르게 하는 것이 가능합니다.

꺾은선형 그래프의 추가

만약 내가 하는 프로젝트가 거의 꺾은선형 그래프라면 기본 그래프를 꺾은선형으로 해두어도 되지만 일반 막대 그래프에서 바꾸는 것도 그리 오래 걸리진 않습니다.

데이터 안에서 알트 + F1을 누르면 묶은 막대형 그래프가 기본으로 생성됩니다.

디자인 탭에서 차트 종류 변경을 클릭 하세요.

꺾은선형 그래프를 더블 클릭하면 확인을 누르지 않고 바로 삽입이 됩니다.

기본 꺾은선형 그래프 입니다.

꺾은선형 그래프도 여러가지 변형이 있지만 제가 개인적으로 활용해 본 적은 없습니다. 한번씩 클릭해서 어떤 것인지는 확인해 보세요.

라인에 서식 주기

도입부에 설명 하였듯이 꺾은선형 그래프는 흑백 프린터로 프린트를 할 경우 구분하기 쉽지 않습니다. 이럴 때는 굵직한 표식을 넣어주면 구분이 쉬워 집니다. 또 자신의 선호도에 따라 꺾은선을 부드러운 선으로 바꾸실 수도 있습니다.

아무 선이나 더블 클릭을 하면 계열 서식창을 불러 옵니다. 선 하나 하나 모두 각자의 속성을 가지고 있습니다 첫번째 아이콘을 클릭 하시고 >> 표식 >> 표식 옵션에서 형식과 크기를 정합니다. 색상은 제가 미리 밑에서 정했으나 여기 사진에는 보이질 않습니다.

같은 방식으로 나머지 4개의 선의 표식을 모두 정하시면 됩니다. 4개의 선 차트 선의 표식을 모두 다르게 정하는 것은 안타깝게도 스타일에 없습니다. 만약 같은 스타일을 계속 사용하고 싶다면 지난번에 소개한 차트 선 차트 서식에 넣어 두시면 이런 수고를 반복 하지 않으셔도 됩니다.

선 디자인

선의 색상도 물론 바꿀 수도 있지만 요긴하게 쓰이는 옵션은 선을 완만하게 만들어 데이터의 부족한 부분을 보완하는 것 입니다. 꺾은선형에서 지나치게 꺾여 있으면 데이터가 부족하다는 뜻이니까요.

첫번째 아이콘 >> 선 을 클릭하시면 선 자체의 색상, 굵기, 여러 기타 옵션을 바꿀 수 있습니다.

완만한 선을 클릭하시면 꺾은선이 이제 완만한 선 차트 선이 됩니다.

재미 있는 옵션으로 선을 화살표 형태로 만들 수 있습니다.

4가지의 표식과 화살표 까지 넣은 꺾은선, 완만한 선 콤보 그래프 입니다.

오늘 소개해 드린 꺾은선형 그래프의 옵션들은 제가 실제 많이 사용하는 것들 입니다 . 프린터로 차트를 인쇄해야 할 경우 매우 요긴하게 활용 됩니다 .

주식을 투자하는 방법에는 여러 가지가 있습니다 . 미래 산업을 예측하여 투자하는 방법 , 호재를 따라가는 방법 그리고 많은 사람들이 사용하는 방법으로 차트를 분석하는 방법이 있습니다 .

이렇게 차트를 보고 투자를 결정하는 방법은 특히 초보 주린이들이 많이 사용하는 방법으로 초보 주식 투자자는 차트를 볼 때 비교적 익숙한 형태인 선차트를 많이 보게 됩니다. 그런데 주식에는 이러한 선차트 외에도 봉차트 또는 캔들차트라고 하는 바형태의 차트가 하나 더 존재하고 이 차트가 선차트보다 더 많은 정보를 포함하고 있습니다.

기본적으로 X-Y축을 지닌 차트의 경우 2가지 변수에 대한 값만 표시할 수 있는 한계를 가집니다. 그래서 여기에 더 많은 정보를 추가하기 위해 보조축을 두거나 차트의 색상을 달리하거나 또는 거품형 차트처럼 크기로 추가적인 조건을 넣는데 주식에서는 선차트에 이런 정보를 추가한 것이 바로 봉차트/캔들차트죠.

봉차트/캔들차트는 봉의 길이 두께 등으로 추가적인 정보를 차트 내에 표시할 수 있습니다.

ㅣ봉차트/캔들차트 분석 방법

일단 봉차트의 경우 색상으로 시가 대비 가격의 변화를 나타냅니다. 빨간색의 경우 시가 대비 가격이 상승한 것이고 파란색은 시가 대비 가격이 떨어진 것이죠. 그리고 봉차트의 전체 길이는 그날의 고가와 저가를 나타내며 색상이 있는 두꺼운 부분은 그날의 종가와 시가를 나타냅니다.

삼성전자의 최근 일봉차트를 보면서 봉차트를 분석하는 방법에 대해 더 살펴보면 1번 봉은 시가가 최고가였으며 종가가 최저가인 차트를 나타내며 3번 의 경우 시가가 최저가 종가가 최고가인 차트인 것입니다. 4번 의 경우 시가 대비 잠시 하락했으나 다시 상승하여 종가에서 고가로 마감한 것이며 6번 의 경우 시가 대비 잠시 상승했지만 이내 다시 하락하여 종가는 최저가로 마감된 차트인 것이죠.

그리고 당연한 얘기지만 그날의 시가가 전날의 종가와 연결되진 않으니 1번 봉의 종가와 2번 봉의 시가와는 차이가 있습니다.

ㅣ봉차트/캔들차트 좀 더 해석해 보기

그렇다면 봉차트/캔들차트는 어떻게 해석하면 좋을까요? 기본적으로 봉차트/캔들차트는 그날의 주가뿐 아니라 시가, 종가, 저가, 고가의 흐름을 한눈에 볼 수 있는 차트로 주가의 변화를 예측하기에 좋은 차트입니다.

아래 여섯 개의 차트는 모두 시가 대비 종가가 상승한 차트이지만 해석의 여지는 다를 수 있습니다. 일단 첫 번째 차트 의 경우 시가 대비 종가의 상승폭이 큰 그래프로 강한 매수세를 보이는 종목일 가능성이 크며 상승 기대치가 여전히 높은 차트로 해석될 수 있습니다. 두 번째의 경우 에는 상승세로 마감하기는 했지만 주가의 변동폭이 워낙 큰 상태로 자칫 잘못했다가는 상승장임에도 큰 손해를 볼 수 있는 상태입니다. 흔히 물리기 선 차트 쉬운 주식으로 조심할 필요가 있는 상태입니다. 세 번째 는 가장 일반적인 주식의 상태이며 네 번째 는 상승장이 장 막판에 급락하여 약한 상승장을 이뤄 다음날 시가에 부정적인 영향을 미칠 수 있어 보이는 상태고 반대로 다섯 번째 는 급락했던 주가가 다시 급등하여 오늘의 기대감이 다음날 시가에 긍정적인 영향을 미칠 수도 있는 상태입니다. 마지막 봉의 경우 거래량이나 가격 변동폭이 적은 주식에서 시가를 저가에서 시작해 종가를 고가에서 마감한 경우 나타나는 그래프이기도 하지만 장시작과 동시에 상한가 근처에 주가가 형성되어 주가 변동 없이 마감되는 흔히 점상이라고 말하는 종목의 그래프일 수도 있습니다.

하락장도 마찬가지의 방법으로 해석될 수 있습니다.

그날의 시가, 종가, 저가, 고가를 알아야 전체적인 주식의 흐름을 더 잘 예측할 수 있어 주식을 하는 투자자라면 모두 봉차트/캔들차트에 익숙해질 필요가 있지 않을까요?

오늘은 구글 스프레드시트로 시계열 그래프를 만드는 방법을 함께 알아보도록 하겠습니다.

1월 2월 3월 4월 5월
국어 100 90 85 90 60
영어 95 85 70 40 80
수학 80 85 95 100 95

예시로 위와 같은 표를 만들어보았습니다. 1월부터 5월까지 국, 영, 수 과목의 점수 변화를 살펴보겠습니다.

메뉴 - 삽입 - 차트를 클릭해주세요.

차트 편집기가 나옵니다. 차트 유형에서 선 차트를 선택해줍니다.

그리고 선 차트 데이터 범위를 선택해줍니다.

①데이터 범위 클릭- ② 빈칸 클릭 - ③ 데이터가 있는 셀 지정 후 확인 클릭

자동으로 선 그래프가 만들어집니다.

그런데 무언가 이상합니다. X축과 Y축이 반대로 된 것을 알 수 있습니다. 어떻게 해야 할까요? 행 / 열 전환을 누르면 됩니다.

행/열 전환을 눌러주면 다음과 같이 원하는 그래프가 설정됩니다.

이렇게 원하는 시계열 그래프를 만들었습니다. 생각보다 간단하죠? 차트편집기 맞춤설정 메뉴를 누르면 범례 위치나 격자 설정, 그래프 색깔 등을 바꿀수도 있습니다.

또 그래프에 위치하는 범례를 더블 클릭하면 범례 명을 아래와 같이 직접 수정도 가능합니다.

오늘은 구글 스프레드시트를 활용해서 시계열 그래프 차트를 만드는 방법을 간단하게 살펴보았습니다. 생각보다 간단한 것을 알 수 있는데요. 이러한 차트를 적절히 활용하면 시각자료를 쉽게 만들 수 있습니다.

혹시 구글 스프레드시트를 활용해서 조직도를 만들고 싶다면 riedel.tistory.com/122

도표(조직도)를 구글로 손쉽게 만드는 방법(feat.스프레드시트)

안녕하세요. 동사힐입니다. 블로그에 글을 쓰면서, 내용을 설명할 때 구조화된 시각자료를 첨부하는 것이 효과적이라는 생각이 들었습니다. 글로만 설명하면, 눈에 잘 안들어 오고 전체 그림이

Matplotlib로 선 그래프 그리기 완벽 정리

Matplotlib는 차트와 그래프를 그리는데 사용하는 Python 라이브러리입니다. Matplotlib를 활용하여 간단한 2차원 선 그래프 그려보는 방법에 대해서 알아보도록 합시다.

Basic Line Plot

선 그래프는 다음과 같이 시간의 따른 데이터의 변화를 시각화하는데 유용하게 사용됩니다.

  • 지난 10년 간 경유 가격의 평균값
  • 지난 두 달간 몸무게 변화

Matplotlib의 .plot() 함수와 .show() 함수를 활용하여 간단한 선 그래프를 그릴 수 있습니다.

위 코드는 아래와 같은 그래프를 그립니다.

또한 하나의 그래프 뿐만 아니라 여러개의 그래프를 그릴 선 차트 수 있습니다. 같은 scale과 axis를 사용하는 서로 다른 데이터를 보여줄 때 유용합니다. .plot() 함수를 반복적으로 호출하면 자동으로 여러 그래프를 같은 축에 그려줍니다.

위 코드는 다음과 같은 그래프를 그립니다.

디폴트로 제일 처음 그려지는 그래프가 blue, 두번째가 orange색깔입니다. 이는 사용자가 커스텀할 수 있습니다.

Linestyles

.plot() 함수의 옵션으로 color 을 부여하면 선의 색을 지정할 수 있습니다. 옵션으로 줄 수 있는 값은 HTML의 색 이름( green , yellow 등)이나 HEX 코드가 있습니다.

또한 linestyle 옵션을 부여함으로써 선의 형태를 커스터마이징할 수 있습니다.

그리고 각 데이터 포인트에 marker 를 지정할 수 있습니다.

Axis and Labels

종종 그래프의 특정 영역을 확대하거나 강조하고 싶을 수 있습니다. 이 때 보여줄 축의 범위를 .axis() 함수로 지정할 수 있습니다. .axis() 함수는 [ x_min, x_max, y_min, y_max ] 를 파라미터로 전달받습니다.

그런데 그래프의 x와 y축이 의미하는 바가 무엇인지 알 수 없으니 그래프를 이해하기가 쉽지 않습니다. 그래프의 각 축에 라벨을 달아주려면 .xlabel() 과 .ylabel() 함수를 활용합니다. 또한 그래프의 제목은 .title() 로 설정할 수 있습니다. 위 함수는 모두 인자로 string을 받습니다.

Subplots

떄로는 두 데이터를 비교할 때 같은 x-axes나 y-axes가 아닌 다른 axes을 사용하게 하여 여러 그래프를 그리고 싶을 수 있습니다. 이러한 여러 axes의 집합을 subplot 이라고 합니다. 이러한 subplot 을 모두 포함하는 오브젝트를 figure 라고 합니다.

하나의 figure에 여러 subplot들이 포함될 수 있습니다. 만약, 2행 3열의 총 6개의 subplot 을 포함하는 다음과 같은 figure를 그릴 수 있습니다.

subplot은 .subplot() 함수를 호출하여 생성할 수 있습니다. .subplot() 함수는 다음 세 파라미터를 받습니다.

예를 들어 plt.subplot(2, 3, 4) 는 위 그림에서 “Subplot4” 를 생성합니다. plt.subplot() 뒤에 오는 모든 plt.plot() 은 해당 subplot 에서 그래프를 그립니다.

그런데 subplot을 띄우다 보면 다음과 같은 문제가 발생할 때가 있습니다.

위 그림처럼 label이 옆 subplot과 곂치게 되는 경우가 있는데, 이러한 경우 subplot의 margin을 조정해주어야 합니다. Matplotlib는 plt.subplots_adjust() 함수를 제공해줍니다. .subplots_adjust() 함수는 다음과 같은 keyword arguments를 가집니다.

  • left - 왼쪽 margin. 디폴트는 0.125
  • right - 오른쪽 margin. 디폴트는 0.9
  • bottom - 아래쪽 margin. 디폴트는 0.1
  • top - 위쪽 margin. 디폴트는 0.9
  • wspace - subplots의 수평 간격. 디폴트는 0.2
  • hspace - subplots의 수직 간격. 디폴트는 0.2

예를 들어, 다음과 같이 subplots의 간격을 조정할 수 있습니다.

이제 위에서 제시한 겹치는 subplot을 보유한 figure를 수정해봅시다.

Legends

만약 하나의 subplot에 여러 그래프를 그리게 된다면 뭐가 뭔지 모릅니다. 이를 위해 그래프 모서리에 작은 모달을 달아주는데, 이것이 바로 legend입니다. plt.legend() 함수에 라벨을 달아줄 값의 배열을 전달하여 legend를 달아줄 수 있습니다.

또한 .legend() 함수는 loc 이란 keyword argument를 받는데, legend를 달아줄 위치를 지정할 수 있습니다.

Number Code String
0 best
1 upper right
2 upper left
3 lower left
4 lower right
5 right
6 center left
7 center right
8 lower center
9 upper center
10 center
Note: 만약 loc 값으로 아무것도 주지 않으면, 이는 ‘best’로 할당됩니다.

예를 들어, loc 값으로 6을 주면 이는 center left로 가운데 왼쪽에 달립니다.

떄로는 .legend() 함수에 배열을 전달하는 것 보다 그냥 .plot() 함수에 label 옵션을 부여하는게 더 편할 때도 있습니다. 만약 이 방법으로 legend를 달려면 꼭 plt.legend() 를 호출해주어야 합니다.

Modify Ticks

지금까지는 모두 plt 모듈의 내장함수를 알아보았습니다. 만약 tick을 수정하고자 한다면 조금 다른 방법으로 시도할 수 있습니다. 먼저 figure는 여러 subplot을 보유하기 때문에 tick을 수정할 subplot을 명시해야 합니다.

ax 는 axes 오브젝트로, 이를 활용해 특정 subplot(여기서는 1행 1열 1 번째 subplot)의 axes를 수정할 수 있습니다. 만약 x-ticks를 수정하고자 한다면 ax.set_xticks() 함수의 인자로 tick 배열을 넘겨주면 됩니다. 그런데 숫자가 아닌 특수한 label(i.e. string)을 달아주려면 ax.set_xticklabels() 함수의 인자로 배열을 넘겨주면 됩니다.

만약 x-ticks를 1, 2, 그리고 4로 수정하고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

또한 y-ticks도 마찬가지로 수정할 수 있습니다.

Figures

가끔은 .plot() 으로 그래프를 그려놓고 화면에 보여주지 않을 때가 있습니다. 만약 주의를 기울이지 않으면 해당 그래프는 다음 새로운 plot에 나타날 수 있게 됩니다. 이를 예방하기 위해 새로운 그래프를 plot하기 전 plt.close('all') 명령을 사용하면 기존에 존재하는 모든 그래프를 지우고 시작할 수 있습니다.

이전에는 하나의 figure에 대해서 그래프를 그려보았는데, plt.figure() 함수로 새로운 figure를 생성할 수 있습니다. 또한 figsize 옵션으로 (width, height) 튜플을 옵션으로 주면 figure의 가로, 세로 길이(인치)를 지정할 수 있습니다.

위 코드는 아래와 같은 figure를 생성합니다.

이렇게 생성한 figure는 png , svg , 또는 pdf 로 저장할 수 있습니다. plt.savefig() 함수는 해당 figure를 저장할 때 지정할 파일 이름을 파라미터로 받아서 저장합니다.

Review

지금까지 Matplotlib에서 제공하는 메서드로 여러 선 그래프를 그려보았습니다. 간단한 명령 몇 줄로 선 그래프를 이쁘게 그릴 수 있는 점이 좋은 것 같습니다. 이번 포스팅에서 배운 내용을 정리하면 다음과 같습니다.

  • Creating a line graph from data
  • Changing the appearance of the line
  • Zooming in on different parts of the axis
  • Putting labels on titles and axes
  • Creating a more complex figure layout
  • Adding legends to graphs
  • Changing tick labels and positions
  • Saving what you’ve made

다음 포스팅에서는 여러 종류의 그래프를 그리는 방법과 데이터를 시각화할 때 plot의 종류를 선택하는 방법에 대해서 알아보도록 합시다😀


0 개 댓글

답장을 남겨주세요