제퍼넷 로고

cutecharts 라이브러리를 사용하여 Python에서 손으로 만든 시각화

시간

이 기사는 데이터 과학 Blogathon

Python의 귀여운 차트
Image1 

개요

귀여운 차트. Cutecharts는 차트에 더 개인적인 느낌을 주기에 완벽합니다. 차트를 덜 위협적으로 만들고 싶다면 한 숟가락의 단맛을 추가하면 귀여운 차트가 최선의 선택입니다.

일반 Matplotlib 및 Seaborn 라이브러리와 완전히 다르며 수제 차트를 살펴보고 차트에 마우스를 올려 놓으면 값이 표시됩니다. 귀여운 차트의 장점인 Matplotlib 차트에는 호버링 효과가 없습니다. 귀여운 차트로 차트를 만드는 것은 Seaborn에 비해 조금 더 길지만 표준 matplotlib 라이브러리보다 코드 수는 적습니다.

이 패키지는 다음과 같은 종류의 차트를 생성하는 데 사용할 수 있습니다. 현재 이 라이브러리는 막대형, 원형, 방사형, 분산형 및 선의 XNUMX가지 차트를 지원합니다.

큐트차트 설치

이 차트를 생성하려면 귀여운 차트 라이브러리를 설치해야 합니다.

!pip 설치 cutecharts

라이브러리 가져오기

cutecharts.charts를 ctc로 가져오기 pandas를 pd로 가져오기

데이터 세트

TMBD 데이터가 어떻게 보이는지 봅시다. 데이터에는 21개의 열이 있습니다.

df = pd.read_csv(r'tmdb-movies.csv') df.head(2)
데이터 세트

데이터 설명

TMBD의 데이터는 kaggle에서 가져왔으며 EDA가 계획적으로 있는지 확인하려면 여기를 확인하십시오 – https://www.kaggle.com/kashishrastogi/eda-of-tmbd-dataset

  • 인기: 영화 인기도를 지정하는 숫자 수량
  • 예산 : 영화를 만든 예산입니다.
  • 수익: 영화로 인해 발생한 전 세계 수익입니다.
  • 원본 제목: 번역 또는 각색 전의 영화 제목.
  • 출연 : 영화에서 역할을 맡은 배우 이름
  • 홈페이지 : 영화의 홈페이지 링크입니다.
  • 감독 : 영화를 연출한 감독 이름
  • 표제: 영화의 제목입니다.
  • 키워드 : 영화와 관련된 키워드 또는 태그입니다.
  • 개요 : 영화에 대한 간략한 설명.
  • 런타임 : 영화의 실행 시간(분)입니다.
  • 장르 : 영화 장르 드라마, 액션, 코미디, 스릴러 등
  • 제조업 회사: 영화의 제작사.
  • 투표 수: 받은 투표 수입니다.
  • 투표 평균: 영화가 받은 평균 평점.

날짜 시간

  • 날짜 배포 : 영화가 개봉된 날짜입니다.
  • 출시 년도 : 영화가 개봉된 연도입니다.

데이터 청소

먼저 데이터를 정리하면 귀여운 차트가 표시됩니다.

기능을 적절한 날짜-시간 형식으로 변경하고 더 많은 통찰력을 위해 인기 기능을 소수점 이하 2자리까지 반올림합니다.

df['출시_날짜'] = pd.to_datetime(df['출시_날짜']) df['인기'] = 라운드(df['인기'], 2)

그다지 필요하지 않은 기능 제거

df.drop(['imdb_id', '홈페이지', '예산_adj','revenue_adj'], axis=1, inplace=True)

기능 nan 값을 결측값으로 바꾸기

df['태그라인'].fillna('누락',inplace=True) df['키워드'].fillna('누락',inplace=True) df['생산_회사'].fillna('누락',inplace=True ) df['캐스트'].fillna('누락', 인플레이스=참) df['감독'].fillna('누락', 인플레이스=참) df['장르'].fillna('누락', 인플레이스= 참) df['개요'].fillna('누락',inplace=참)

예산 및 수익에서 0 값 삭제

df.drop(df[(df['예산']==0) & (df['수익']==0)].index, inplace=True)

이제 데이터가 깨끗해졌습니다. 이제 더 나아가 귀여운 차트를 만들 수 있습니다.

큐트 차트에 사용되는 매개변수

예를 들어 원하는 차트 이름을 지정하면 파이 차트가 필요하고 아래 코드를 실행합니다.

차트 = ctc.Pie()

추가해야 하는 차트의 제목, 너비 및 높이 설정 width, height 매개변수에서 예가 아래에 나와 있습니다.

차트 = ctc.Pie('제목', 너비='600픽셀', 높이='300픽셀')

사용할 차트 옵션 설정 set_options() 기능에 대한 예가 아래에 나와 있습니다.

차트.세트_옵션()

사용할 x 및 y 레이블 제목 설정 x_labely_label 전달 set_options() 기능 예는 아래에 나와 있습니다.

chart.set_options(x_label='X 레이블', y_label='Y 레이블' , )

마지막으로 차트를 표시하는 함수를 사용합니다. render_notebook() 아래에 예가 나와 있습니다.

차트.render_notebook()

차트를 하나씩 살펴보겠습니다.

큐트차트를 이용한 파이차트

우리가 만들 차트는 도넛 차트입니다. 우리는 최고의 영화가 출시 된 상위 5 년을 볼 것입니다.

df_year = df['release_year'].value_counts().reset_index().sort_values(by='인덱스', 오름차순=False)[:5].rename(columns={'인덱스':'release_year','release_year' :'카운트'}) 차트 = ctc.Pie('상위 5년', 너비='600px', 높이='300px') chart.set_options(labels=list(df_year['release_year']), inner_radius=0) chart.add_series(list(df_year['Count'])) chart.render_notebook()
원형 차트 | Python의 CuteCharts

큐트차트를 이용한 도넛차트

우리가 만들 차트는 도넛 차트입니다. 우리는 최고의 영화가 출시 된 상위 5 년을 볼 것입니다.

df_year = df['release_year'].value_counts().reset_index().sort_values(by='인덱스', 오름차순=False)[:5].rename(columns={'인덱스':'release_year','release_year' :'카운트'}) 차트 = ctc.Pie('상위 5년', 너비='600px', 높이='300px') chart.set_options(labels=list(df_year['release_year']), inner_radius=0.8) chart.add_series(list(df_year['Count'])) chart.render_notebook()
도넛 차트

모든 기능은 원형 차트에서 사용한 것과 동일합니다. inner_radius에서 추가 매개변수를 하나만 더 사용합니다. 도넛 차트의 내부 반경에 대해 0에서 1 사이의 값을 지정할 수 있습니다. 기본적으로 범례가 왼쪽 위 모서리에 있는 경우 upLeft, upRight, downLeft, downRight와 같은 범례 값을 지정할 수 있습니다.

아래 차트는 upRight 및 downLeft의 범례를 보여줍니다.

도넛의 범례 위치 변경 | Python의 CuteCharts
도넛 차트

cutecharts를 사용한 막대형 차트

최고의 영화 장르를 살펴보자.

이 함수는 문자열을 분할하고 각 장르의 수를 반환합니다.

def count_genre(x): data_plot = df[x].str.cat(sep = '|') data = pd.Series(data_plot.split('|')) info = data.value_counts(ascending=False) 반환 정보

각 장르의 영화를 카운트하는 함수를 호출합니다.

df_genre_movies = count_genre('장르') df_genre_movies = pd.DataFrame(df_genre_movies).reset_index().rename(columns={'index':'드라마', 0:'Count'})

막대 차트용 코드

여기에서는 페이커 라이브러리를 가져와서 다양한 막대에 색상을 사용했습니다.

from cutecharts.faker import Faker chart = ctc.Bar('인기 영화 장르', width='600px', height='200px') chart.set_options(labels=list(df_genre_movies['Drama'][:7]), x_label='드라마', y_label='카운트', colors=Faker.colors ) chart.add_series('Geners',list(df_genre_movies['Count'][:7])) chart.render_notebook()
막대 차트

여기에 매개변수 색상을 하나 더 추가했습니다. set_options() 막대에 대해 다른 색상을 명시적으로 설정할 수 있습니다.

chart = ctc.Bar('인기 영화 장르', width='600px', height='200px') chart.set_options(labels=list(df_genre_movies['드라마'][:7]), x_label='드라마', y_label='개수', colors=['#FFF1C9', '#F7B7A3', '#EA5F89', '#9B3192', '#57167E', '#47B39C', '#00529B'] ) chart.add_series(' Geners',list(df_genre_movies['Count'][:7])) chart.render_notebook()
옵션 설정 | Python의 CuteCharts

라인 차트 귀여운 차트를 사용하여

우리는 몇 년 동안 개봉된 영화의 수를 계산하고 20대에 있는 영화만 플롯할 것입니다.

데이터 = df.groupby('release_year').count()['id'].reset_index().tail(16)

20대를 배경으로 한 영화의 영향력을 찾기 위한 꺾은선형 차트 만들기.

chart = ctc.Line("20대에 걸친 영화의 영향", width='700px', height='200px') chart.set_options(labels=list(data['release_year']), x_label='Years' , y_label='개수', ) chart.add_series('연도',list(data['id'])) chart.render_notebook()
라인 차트 | Python의 CuteCharts

수년에 걸쳐 영화 개봉이 기하급수적으로 증가하고 있습니다.

 

분산 형 차트 귀여운 차트를 사용하여

예산 대비 인기도가 어떤지 살펴보고, 예산이 영화의 인기도 이상인지 아닌지 알아보자.

chart = ctc.Scatter("예산이 더 높은 영화의 인기도가 높은지 여부와 같은 통찰력을 얻는 데 도움이 됩니다.", width='700px', height='200px') chart.set_options(x_label='Popularity', y_label='Budget', dot_size=1, colors=['#47B39C'] ) chart.add_series('인기 대 예산', [(z[0], z[1]) for z in list(zip(df['popularity'],df) ['예산']))]) chart.render_notebook()
분산 | Python의 CuteCharts

cutecharts를 사용한 레이더 차트

방사형 차트는 주로 다변수 값을 표시하는 데 사용되는 스파이더 차트라고도 합니다. 레이더 차트의 경우 오늘, 이번 주 및 지난 주 기능이 있는 커피 소비의 더미 데이터를 사용합니다.

data = {'요일': ['월', '화', '수', '목', '금', '토', '일'], '이번 주': [12, 10, 9, 9 , 10, 3, 3], '지난 주': [15, 12, 8, 9, 11, 4, 3] } df_coffee = pd.DataFrame(data, columns = ['일', '이번 주', ' 지난주'])

이번 주와 지난 주에 대한 일일 커피 소비량에 대한 레이더 차트를 살펴보겠습니다.

chart = ctc.Radar('하루에 소비되는 커피 잔') chart.set_options(labels=list(df_coffee['Day']), is_show_legend=True, legend_pos='upRight' ) chart.add_series('이번 주', list(df_coffee['이번 주'])) chart.add_series('지난 주', list(df_coffee['지난 ​​주'])) chart.render_notebook()
레이더 차트

EndNote

우리는 파이썬으로 만든 놀라운 손으로 쓴 귀여운 차트를 보았습니다. 이 패키지의 제한은 5개의 차트만 제공한다는 것입니다.

이미지 소스

  1. 이미지 1: https://unsplash.com/photos/jrh5lAq-mIs

이 기사에 표시된 미디어는 Analytics Vidhya의 소유가 아니며 작성자의 재량에 따라 사용됩니다.

PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.
액세스하려면 여기를 클릭하십시오.

출처: https://www.analyticsvidhya.com/blog/2021/09/hand-made-visualizations-in-python-using-cutecharts-library/

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?