인문대생의 데이터 직군 취업로그 26

류지윤·2023년 7월 8일
0
post-thumbnail

[ 오늘의 수업내용 요약 ]

  1. folium 지도 시각화
  • 현재 사용의 편의성이나 활발한 기능 개선등으로 folium이 만족도가 높은 편
  • miniconda에서 conda install –c conda-forge folium 해서 설치 가능
  • folium은 기본적으로 크롬에서 동작이 가장 좋다.
    location=[37.544564958079896, 127.05582307754338],
    zoom_start=14,
    tiles="stamen Toner"
) # 0-18
m
  • 근본적으로 그냥 위도 경도를 알려주면 된다.
folium.Marker(
    location=[37.544564958079896, 127.05582307754338],
    popup="<b>Subway</b>" #html문법도 적용 가능
).add_to(m)
  • html문법도 적용 가능하다.
  • 스타일은 tiles옵션으로 지정하면 된다.
  • 마커 추가도 가능
  • 다양한 모양의 아이콘 지원(무료 아이콘을 사용하고싶다면 구글링 !)
    [ 최종적으로 2번째 프로젝트에 시각화 자료들의 코드들을 적용한 내용 ]
    =>
my_map = folium.Map(
    location=[37.5502, 126.982], zoom_start=11
)

folium.Choropleth(
    geo_data=geo_str, #우리나라 경계선 좌표값이 담긴 데이터
    data=crime_anal_norm["범죄"],
    columns=[crime_anal_norm.index, crime_anal_norm["범죄"]],
    key_on="feature.id",
    fill_color="PuRd",
    fill_opacity=0.7,
    line_opacity=0.2,
)

for idx, row in crime_anal_station.iterrows():
    folium.CircleMarker(
        location=[row["lat"], row["lng"]],
        radius=row["검거"] * 50,
        popup=row["구분"] + " : " + "%.2f" % row["검거"],
        color="#3186cc",
        fill=True,
        fill_color="#3186cc"
    ).add_to(my_map)
my_map

=>

crime_loc_norm_sort = crime_loc_norm.sort_values("종합", ascending=False) #내림차순

def drawGraph():
    plt.figure(figsize=(10,10))
    sns.heatmap(
        crime_loc_norm_sort,
        annot=True,
        fmt="f",
        linewidths=0.5,
        cmap="RdPu")
    plt.title("범죄 발생 장소")
    plt.show()
drawGraph()

0개의 댓글