사망은 붉은 빨간색, 사고는 진한 빨간색, 부상은 연한 빨간색으로 진행
import pandas as pd import plotly.express as px # CSV 파일 불러오기 df = pd.read_csv("/content/한국도로공사_교통사고통계_20231231.csv") # 총합 계산 total_accidents = df["사고"].sum() total_deaths = df["사망"].sum() total_injuries = df["부상"].sum() # 데이터 정리 summary_df = pd.DataFrame({ "종류": ["사고", "사망", "부상"], "건수": [total_accidents, total_deaths, total_injuries] }) # 그래프 생성 fig = px.pie(summary_df, names="종류", values="건수", title="교통사고 통계 (사고, 사망, 부상 비율)") # 색상 및 테두리 스타일 설정 fig.update_traces( marker_colors=px.colors.sequential.RdBu, marker_line_color="black", marker_line_width=2 ) fig.show()
가장 큰 비율을 차지하는 범죄 그래프의 조각을 때고, 원형이 아닌 도넛형으로 진행
import pandas as pd import plotly.express as px # CSV 파일 불러오기 df = pd.read_csv("/content/경찰청_범죄 발생 지역별 통계_20231231.csv") # 범죄대분류 기준 합산 crime_by_major = df.groupby("범죄대분류").sum(numeric_only=True) crime_by_major["총합"] = crime_by_major.sum(axis=1) # 최대값의 인덱스를 찾아 pull 리스트 만들기 labels = crime_by_major.index.tolist() values = crime_by_major["총합"].tolist() max_index = values.index(max(values)) # pull 리스트: 가장 큰 값만 0.2, 나머지는 0 pull_values = [0.2 if i == max_index else 0 for i in range(len(values))] # 도넛형 원형 그래프 생성 fig = px.pie( names=labels, values=values, title="서울시 범죄 대분류별 도넛형 비율 그래프 (최대값 강조)", hole=0.4 ) # 강조 조각 설정 fig.update_traces(pull=pull_values) fig.show()