728x90 Data Science/Data Visualization 썸네일형 리스트형 [04. Area Chart] 005. Ridgeline Plot 여러 그룹에 대한 숫자 값의 분포를 보여주는 차트이다. 히스토그램을 수평으로 여러 개 중첩한 모양이다. import matplotlib.pyplot as plt import seaborn as sns import pandas as pd if __name__ == '__main__': sns.set_theme(style="white", rc={"axes.facecolor": (0, 0, 0, 0)}) temp = pd.read_csv( 'https://raw.githubusercontent.com/plotly/datasets/master/2016-weather-data-seattle.csv') # we retrieve the data from plotly's GitHub repository temp['mo.. 더보기 [04. Area Chart] 004. Stream Graph 스트림 그래프는 중심 축 주위로 유기적인 유동 형태로 구성된 누적된 면적차트 유형이다. import matplotlib.pyplot as plt import seaborn as sns from scipy import stats import numpy as np if __name__ == '__main__': def gaussian_smooth(x, y, sd): weights = np.array([stats.norm.pdf(x, m, sd) for m in x]) weights = weights / weights.sum(1) return (weights * y).sum(1) flights = sns.load_dataset('flights') flights = flights.pivot('year', 'mo.. 더보기 [04. Area Chart] 003. Percentage Stacked Area Chart 누적된 면적차트를 백분율화 시킨 차트이다. 각 항목의 비율을 관찰할 때 사용한다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': flights = sns.load_dataset('flights') flights = flights.pivot('year', 'month', 'passengers') perc = flights.divide(flights.sum(axis=1), axis=0) print(perc) plt.stackplot(perc.index, perc.T, labels=perc.columns) plt.title('Passengers') plt.legend(loc='upper left') plt.sho.. 더보기 [04. Area Chart] 002. Stacked Area Chart 누적된 면적차트는 누적된 막대그래프와 마찬가지로 각 세부 수량을 누적시켜 표현한다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': flights = sns.load_dataset('flights') flights = flights.pivot('year', 'month', 'passengers') print(flights) plt.stackplot(flights.index, flights.T, labels=flights.columns) plt.title('Passengers') plt.legend(loc='upper left') plt.show() 결과 값 month January February March .. 더보기 [04. Area Chart] 001. Overlapping Area Chart 도형의 면적을 이용하여 데이터를 시각적으로 표현하는 차트이다. 여러 항목이 있는 경우 오버랩하여 표현한다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': flights = sns.load_dataset('flights') print(flights.head()) for m in flights['month'].drop_duplicates().to_list()[:2]: plt.fill_between(x=flights.query("month == '" + m + "'")['year'], y1=flights.query("month == '" + m + "'")['passengers'], alpha=0.8) plt.t.. 더보기 [03. Pie Chart] 002. Donut Chart 파이도표의 중심이 뚫려 있는 도넛모양의 차트이다. 비어있는 중심원 안을 텍스트 등을 삽입하여 활용할 수 있다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': tips = sns.load_dataset("tips") total = tips.groupby('day')['total_bill'].sum().reset_index() print(total) print(total['day'].drop_duplicates().to_list()) print(total['total_bill'].to_list()) plt.pie(data=total, labels=total['day'].drop_duplicates().to_li.. 더보기 [03. Pie Chart] 001. Pie Chart 비율 관계를 표시할 때는 파이도표를 사용한다. 각 부분이 차지하는 전체의 백분율을 원 안에 표시하여 시각적으로 쉽게 파악이 가능하다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': tips = sns.load_dataset("tips") total = tips.groupby('day')['total_bill'].sum().reset_index() print(total) print(total['day'].drop_duplicates().to_list()) print(total['total_bill'].to_list()) plt.pie(data=total, labels=total['day'].drop_dupli.. 더보기 [02. Line Chart] 001. Multi-Line Chart 시계열 데이터를 표현할 때는 하나의 선보다는 여러 개의 선을 중첩적으로 그려서 비교하는 경우가 많다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': sns.set_style(style="whitegrid") flights = sns.load_dataset('flights') print(flights.head()) sns.lineplot(data=flights, x='year', y='passengers', hue='month') plt.show() 결과 값 year month passengers 0 1949 January 112 1 1949 February 118 2 1949 March 132 3 1949 .. 더보기 [02. Line Chart] 001. Line Chart 선도표는 가장 기본적인 차트 중 하나로 보편적으로 시계열 데이터를 표현할 때 많이 사용한다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': sns.set_style(style="whitegrid") flights = sns.load_dataset('flights') may_flights = flights.query("month == 'May'") print(may_flights) sns.lineplot(data=may_flights, x='year', y='passengers') plt.show() 결과 값 year month passengers 4 1949 May 121 16 1950 May 125 28 .. 더보기 [01. Bar Chart] 004. Percentage Stacked Bar Chart 누적된 막대그래프를 백분율화 시킨 차트이다. 각 항목의 수량보다는 비율이 더 중요할 때 사용한다. import matplotlib.pyplot as plt import matplotlib.patches as mpatches import seaborn as sns if __name__ == '__main__': sns.set_style(style="whitegrid") tips = sns.load_dataset("tips") total = tips.groupby('day')['total_bill'].sum().reset_index() smoker = tips[tips['smoker'] == 'Yes'].groupby('day')['total_bill'].sum().reset_index() smoker['t.. 더보기 이전 1 2 3 다음