그래프 그리기
숫자가 잔뜩 든 표는 한눈에 안 들어온다냥. 그런데 그걸 그래프로 바꾸면 "아, 이게 제일 크구나" 가 바로 보인다냥. 오늘은 코드 한 줄로 그래프를 그리는 법을 배운다냥. Streamlit 은 이것도 아주 쉽다냥!
오늘의 학습 목표
st.line_chart로 꺾은선 그래프를 그린다.st.bar_chart로 막대 그래프를 그린다.- 어떤 그래프를 언제 쓰는지 안다.
pandas2.2 이상표(DataFrame)로 데이터를 다루기streamlit1.40 이상파이썬 코드로 웹 화면 만들기
설치하기 — 터미널에 그대로 붙여넣기
pip install "pandas>=2.2" "streamlit>=1.40"설치 확인 — 버전 번호가 찍히면 성공
python -c "import pandas; print(pandas.__version__)"
python -c "import streamlit; print(streamlit.__version__)"위 버전은 최소 기준이라, 더 높은 버전이 깔려 있으면 그대로 써도 된다냥. 버전이 안 찍히고 에러가 나면 설치가 안 된 거라 설치 명령을 다시 실행해보자냥.
1단계 · 꺾은선 그래프 — line_chart
꺾은선 그래프는 시간에 따라 변하는 값을 보여줄 때 좋다냥. 요일별 방문자 수, 월별 매출 같은 거다냥. 표(데이터프레임)를 넘기면 알아서 그려준다냥.
import streamlit as st
import pandas as pd
df = pd.DataFrame({
"방문자": [10, 25, 18, 40, 33],
}, index=["월", "화", "수", "목", "금"])
st.line_chart(df)index 가 가로축이라냥
index=["월", "화", ...] 가 그래프의 가로축(x축) 이 된다냥. 값들은
세로축(y축)에 올라간다냥. 표만 잘 만들면 그래프는 저절로 그려진다냥!
2단계 · 막대 그래프 — bar_chart
막대 그래프는 항목끼리 크기를 비교할 때 좋다냥. 어느 간식이 제일 인기인지, 어느 반 평균이 제일 높은지 같은 거다냥.
import streamlit as st
import pandas as pd
df = pd.DataFrame({
"표": [12, 8, 20],
}, index=["참치", "닭가슴살", "츄르"])
st.bar_chart(df)꺾은선 vs 막대, 언제 뭘 쓰냥
"흐름" 이면 꺾은선, "비교" 면 막대라고 외우면 편하다냥!
3단계 · CSV 데이터로 그래프 그리기
18강에서 배운 read_csv 와 합쳐보자냥. 파일에서 읽은 표의 한 열을
골라 그래프로 그릴 수 있다냥.
import streamlit as st
import pandas as pd
df = pd.read_csv("cats.csv")
st.bar_chart(df, x="이름", y="나이")x 와 y 로 축을 골라준다냥
x="이름", y="나이" 처럼 어떤 열을 가로축·세로축에 쓸지 직접 정할 수
있다냥. 표에 열이 많을 때 유용하다냥!
4단계 · 직접 해보기
미션 · 일주일 기분 그래프
- 월
일 요일별 "기분 점수(110)" 를 딕셔너리로 만들고 st.line_chart로 일주일 기분 변화를 그려보자냥.- 슬라이더로 특정 요일 점수를 바꾸면 그래프도 바뀌게 해보자냥(도전).
내 일주일이 그래프로 보이면 은근히 재밌다냥!
복습 퀴즈
그래프까지 그릴 수 있게 됐다냥! 이제 4부의 무기가 다 모였다냥 — 표, 파일, 필터, 그래프. 다음 시간엔 이걸 전부 합쳐서 진짜 대시보드 한 장을 완성해본다냥. 4부의 결승전이라냥!
