본문 바로가기

데이터 분석/시각화102

[Matplotlib] 한 라인에 여러 색상 적용하기 (feat. LineCollection) 안녕하세요~ 꽁냥이에요. 보통 선 그래프에서 라인 하나에는 하나의 색을 갖게 되는 것이 일반적인데요. 가끔씩 특정 구간 별로 색을 다르게 하는 것처럼 라인 하나에 여러 색상을 적용할 수도 있을 것입니다. 따라서 이번 포스팅에서는 Matplotlib에서 라인 하나에 여러 색상을 적용하는 방법을 소개하려고 합니다. 한 라인에 여러 색상 적용하기 (feat. LineCollection) 한 라인에 여러 색상을 적용하는 방법은 아래의 2단계를 거치면 됩니다. 1 단계) 라인 하나를 색상을 적용할 단위로 나눈다. 2 단계) 1 단계에서 나뉜 라인들을 LineCollection 클래스에 segments인자에 넘겨주고 color인자에 라인 개수만큼 색상을 리스트에 담아서 넘겨준다. 3 단계) add_collectio.. 2022. 10. 30.
[graphviz] subgraph와 cluster 그려보기 안녕하세요~ 꽁냥이에요. 요즘 graphviz를 공부하면서 배운 내용을 포스팅하고 있는데요. 이번 포스팅에서는 subgraph와 cluster에 대한 개념을 알아보고 이를 그려보는 방법에 대해서 소개합니다. 이번 포스팅은 그래프 구성 요소 꾸미는 방법을 안다고 가정하고 보셔야 하는데요. 혹시 관련 내용에 익숙지 않으신 분들은 아래 포스팅을 읽고 와주시면 됩니다. [graphviz] 그래프 구성 요소 꾸미기 (feat. graph, node, edge) [graphviz] 그래프 구성 요소 꾸미기 (feat. graph, node, edge) 안녕하세요~ 꽁냥이에요. 지난 포스팅에서는 graphviz에서 기본적인 그래프를 그려보았다면 이번 포스팅에서는 graphviz에서 정의하는 각 요소 graph, no.. 2022. 10. 26.
[graphviz] 그래프 구성 요소 꾸미기 (feat. graph, node, edge) 안녕하세요~ 꽁냥이에요. 지난 포스팅에서는 graphviz에서 기본적인 그래프를 그려보았다면 이번 포스팅에서는 graphviz에서 정의하는 각 요소 graph, node 그리고 edge를 꾸미는 방법에 대해서 알아보겠습니다. 그래프 구성 요소 꾸미기 1) 글로벌 설정과 개별 설정 그래프 구성 요소를 꾸미는 방법에는 글로벌하게 설정하는 방법과 구성 요소 개별 설정 방법이 있습니다. 글로벌 설정 또는 기본 설정은 Graph 객체의 attr 메서드를 이용합니다. attr 메서드는 첫 번째 인자로 구성 요소를 뜻하는 문자열 'graph', 'node', 'edge' 중 하나가 올 수 있습니다. 그리고 두 번째 인자로 구성 요소의 속성과 값을 딕셔너리로 전달하게 됩니다. 아래 예시는 구성 요소 node의 모양을 .. 2022. 10. 25.
[graphviz] 기본 구성 요소 알아보기 (feat. Graph, Digraph, node, edge) 안녕하세요~ 꽁냥이에요. 꽁냥이는 요즘 파이썬(Python)에서 Graphviz를 이용한 그래프 시각화를 공부하고 있는데요. 공부하면서 배운 내용을 정리하려고 합니다. 이번 포스팅에서는 Graphviz의 기본 구성 요소인 Graph, Digraph, node, edge의 개념을 알아보고 이를 그려보는 방법을 알아보려고 합니다. Graphviz 설치 Graphviz를 사용하려면 먼저 내 컴퓨터에 graphviz를 설치하고 환경 변수에 등록하는 과정이 필요합니다. 해당 내용은 아래 포스팅을 참고해주세요. graphviz 설치하기 [오류 해결] ExecutableNotFound: failed to execute ['dot', '-Kdot', '-Tsvg'], make sure the Graphviz execu.. 2022. 10. 24.
[Matplotlib] ConnectionPatch에 대해서 알아보자. 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 Matplotlib에서 제공하는 ConnectionPatch에 대하여 알아볼 거예요. ConnectionPatch 사용법 1) ConnectionPatch? 그게 뭐야? ConnectionPatch 클래스는 간단히 말해 서로 다른 좌표 축 상에 있는 점을 연결할 때 사용됩니다. 2) ConnectionPatch 사용법 ConnectionPatch 사용법은 다음과 같습니다. ConnectionPatch( xyA, xyB, coordsA, coordsB, axesA, axesB, . . . ) xyA, xyB는 두 좌표 축의 x, y좌표이고 coordsA, coordsB는 좌표 인식 방법인데 보통 'data'를 많이 사용합니다. 'data'라는 것은 해당 좌표 축의.. 2022. 10. 23.
[Matplotlib] LineCollection을 이용한 박스 플롯 그려보기. 반갑습니다~ 꽁냥이입니다. 이번 포스팅은 Matplotlib에서 boxplot을 이용하지 않고 LineCollection 클래스를 이용하여 박스 플롯을 직접 그려보는 방법을 알아보려고 합니다. 즉, 박스 플롯에 있는 몸통을 제외한 나머지 부분을 모두 선분으로 하나하나 그려볼 거예요. Matplotlib에서 제공하는 boxplot의 사용법이 궁금하신 분들은 아래 포스팅을 참고해주세요. [상자 수염 그림(Box and Whisker Plot)] 1. Matplotlib을 이용하여 상자 수염 그림 그리기 [상자 수염 그림(Box and Whisker Plot)] 2. Matplotlib을 이용하여 그룹 상자 수염 그림(박스 플롯) 그리기 LineCollection을 이용한 박스 플롯 그려보기 그럼 박스 플롯을.. 2022. 10. 23.
[Matplotlib] 하나의 좌표 축(Axes) 안에 여러 개 히트맵(Multiple Heatmaps) 그리기 (feat. PatchCollection, Rectangle) 안녕하세요~ 꽁냥이에요. 오늘은 하나의 좌표축(Axes) 안에 여러 히트맵(Multiple Heatmaps)을 그리는 방법에 대해서 소개하려고 합니다. 보통 히트맵은 한 좌표 축(Axes) 안에 그려지게 됩니다. 즉, 일반적인 방법으로는 한 좌표 축(Axes) 안에 그릴 수 없는데요. 하지만 히트맵의 구성 요소 하나하나는 사각형이고 히트맵은 이들의 집합이라는 점을 이해한다면 사각형 하나는 Rectangle로 히트맵은 이들의 집합인 PatchCollection으로 감싸준다면 하나의 axes 안에 여러 히트맵을 그릴 수 있습니다. 개념을 대략적으로 설명했는데요. 그 개념을 좀 더 이해하기 쉽게 구체적으로 이야기하고 여러 히트맵(Multiple Heatmaps)을 그리는 방법에 대해 소개하겠습니다. 기본적인 .. 2022. 10. 23.
[Matplotlib] 막대 그래프에 무늬(문양) 적용하기 (feat. hatch) 안녕하세요~ 꽁냥이에요. Matplotlib에서 막대 그래프에 색상 뿐만 아니라 무늬(문양)을 적용할 수 있는 것을 알아가지고 이번 포스팅에서는 관련 내용을 소개하겠습니다. hatch를 이용한 문양 삽입 여기에서는 bar 차트(막대 그래프)에 대한 문양 삽입 방법을 알아보겠습니다. 방법은 쉽습니다. bar 함수의 hatch 인자를 이용하면 됩니다. hatch 인자에는 패턴 문자를 넣어주며 가능한 패턴 문자는 다음과 같습니다. hatch는 같은 문자를 여러번 쓰거나 다른 문자를 혼합해서 사용가능합니다. 같은 문자를 여러번 쓰면 좀 더 조밀하게 문양이 적용됩니다. 이제 아래 코드를 통해 문양이 어떻게 적용하는지 확인해보세요. 다른 패턴 문자를 조합해서도 확인해보셔요~ import matplotlib.pypl.. 2022. 9. 24.
[Graphviz] Dot graph(그래프)를 이미지로 저장하기 (feat. render) 안녕하세요~ 꽁냥이에요. Graphviz는 구조화된 데이터(트리, 네트워크 등)를 시각화해주는 라이브러리입니다. Graphviz의 결과는 dot graph라는 형식으로 저장되는데요. 이번 포스팅에서는 dot graph를 이미지로 저장하는 방법을 알아보겠습니다. 굉장히 쉽습니다. Dot Graph 이미지로 저장하기 : render 먼저 시각화할 재료를 만들어야합니다. 꽁냥이는 의사결정 나무를 학습하고 최종 결과 트리를 dot graph로 저장했습니다. import pandas as pd import graphviz import warnings warnings.filterwarnings('ignore') from sklearn.datasets import load_boston from sklearn.tree.. 2022. 9. 18.
[Matplotlib] Strip Plot(Jitter Plot)을 그려보자 안녕하세요~ 꽁냥이입니다. 범주형 변수와 수치형 변수를 같이 시각화할 때 Strip Plot(또는 Jitter Plot)을 이용합니다. 안타깝게도 Matplotlib에서는 Strip Plot(Jitter Plot)을 제공하고 있지 않은데요. 그래서 꽁냥이가 Matplotlib으로 하는 방법을 개발해 보았어요. 이번 포스팅에서는 Matplotlib을 이용한 Strip Plot(Jitter Plot)을 그리는 방법에 대해서 공유합니다. - 목차 - 1. 랜덤 Strip Plot(Jitter Plot) 2. 정렬된 Strip Plot(Jitter Plot) Seaborn 라이브러리에는 Strip Plot을 그리는 기능을 제공하고 있는데요. 궁금하신 분들은 아래 포스팅을 참고해주세요. [Seaborn] 8. S.. 2022. 9. 16.

맨 위로