대화형 기능
확대, 마우스 오버 및 이동하기
대화형 기능은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
대화형 기능이 중요한 이유
정적 라이브러리보다 Plotly가 크게 앞서는 점은 차트가 사용자에게 반응한다는 것입니다. 독자는 차트에 레이블을 빽빽하게 넣지 않아도 특정 영역을 확대하고, 데이터를 가로질러 이동하며, 마우스를 올려 정확한 값을 읽을 수 있습니다.
대화형 기능을 사용하면 하나의 차트로 전체 개요와 세부 정보를 모두 제공할 수 있습니다.
마우스 오버 도구 설명
기본적으로 점 위에 마우스를 올리면 x 값과 y 값이 표시됩니다. hover_data=['col1', 'col2']를 사용해 열을 추가하거나, hover_name='name'을 사용해 도구 설명의 굵은 제목을 설정할 수 있습니다.
좋은 도구 설명을 사용하면 차트 자체를 복잡하게 만들 필요가 없습니다.
도구 설명 문자열 만들기
개념적으로 도구 설명은 데이터 한 행에서 조합한 형식 지정 텍스트일 뿐입니다. 다음은 같은 아이디어를 일반 Python으로 표현한 예입니다.
point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)확대와 이동
Plotly Figure에는 확대, 이동, 상자 선택 도구가 있는 모드 막대가 포함되어 있습니다. 사용자는 드래그하여 사각형 영역을 확대할 수도 있고, 두 번 클릭하여 원래 상태로 되돌릴 수도 있습니다.
이 동작들은 기본적으로 활성화되어 있으므로, 일반적으로 이를 위한 코드를 작성할 필요가 없습니다.
범위와 재설정
확대하면 축의 범위가 일시적으로 바뀝니다. fig.update_xaxes(range=[0, 100])으로 초기 범위를 설정할 수 있으며, 사용자는 언제든 그 범위로 재설정할 수 있습니다.
확대는 전체 데이터 범위에서 하위 창을 선택하는 것이라고 생각하십시오.
full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')마우스 오버 모드
fig.update_layout(hovermode='x unified')를 사용하면 마우스를 올린 x 위치에서 모든 계열을 하나의 도구 설명에 나열합니다. 같은 시점에서 여러 선을 비교할 때 매우 유용합니다.
그 밖의 모드로는 'closest'와 'x'가 있습니다.
대화형 범례
Plotly의 범례는 클릭할 수 있습니다. 한 번 클릭하면 계열이 숨겨지고, 두 번 클릭하면 해당 계열만 표시됩니다. 따라서 별도의 차트를 만들지 않고도 사용자가 관심 있는 데이터에 집중할 수 있습니다.
차트에 여러 트레이스가 있으면 이 기능이 자동으로 작동합니다.
범위 슬라이더
시계열에는 fig.update_xaxes(rangeslider_visible=True)를 사용해 범위 슬라이더를 추가할 수 있습니다. 아래에 작은 개요 차트가 나타나며, 사용자는 드래그하여 날짜 범위를 선택할 수 있습니다.
1m, 6m, YTD와 같은 범위 선택기 버튼과 함께 사용하면 좋습니다.
사용자 지정 마우스 오버 서식
완전히 제어하려면 hovertemplate을 사용하십시오. 이 인수에는 %{x}와 %{y} 같은 자리 표시자가 포함된 문자열을 지정합니다. 마우스를 올렸을 때 표시할 정확한 텍스트와 숫자 형식을 직접 결정할 수 있습니다.
서식을 설계하는 일은 다른 형식 지정 문자열을 설계하는 것과 같습니다.
x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)멈출 때를 알기
대화형 기능은 강력하지만 비용이 없지는 않습니다. 제어 기능이 너무 많으면 가볍게 읽는 독자를 압도할 수 있습니다. 실제 질문에 답하는 기능만 활성화하고, 나머지는 적절한 기본값에 맡기십시오.
모드 막대
모든 Figure의 오른쪽 위에 있는 도구 모음은 모드 막대입니다. 여기에는 확대, 이동, 자동 척도 조정, PNG를 다운로드하는 카메라 버튼이 있습니다. Figure를 표시할 때 config 인수로 모드 막대를 구성하거나 숨길 수 있습니다.
사용하지 않는 버튼을 숨기면 비기술 독자를 위한 차트가 한층 깔끔해집니다.
빠른 확인
대화형 기능에 대한 지식을 확인해 보십시오.
복습
Plotly의 대화형 기능을 살펴보았습니다:
hover_data와hovertemplate으로 풍부하게 구성하는 마우스 오버 도구 설명- 내장 모드 막대를 통한 확대와 이동
- 통합 도구 설명을 제공하는
hovermode='x unified' - 클릭할 수 있는 범례와 시계열 범위 슬라이더
이 기능들은 실제 질문에 답할 수 있도록 의도적으로 사용하십시오.
자주 묻는 질문
“대화형 기능” 강의는 무료인가요?
네 — “대화형 기능” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“대화형 기능”에서 뭘 배우나요?
확대, 마우스 오버 및 이동하기 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Python Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“대화형 기능” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.