수업자료
https://www.youtube.com/watch?v=2424N7ITZvo&ab_channel=%ED%85%8C%EB%94%94%EB%85%B8%ED%8A%B8TeddyNote
수업자료
#필요한 라이브러리
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
#한글폰트설정
plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False
# plt.rcParams['axes.unicode_minus'] = False는 Matplotlib에서 사용되는 설정 중 하나입니다. 이 설정은 Matplotlib 플롯에서 축 레이블 및 텍스트에 마이너스 기호를 표시하는 데 사용됩니다.
# 기본적으로 Matplotlib은 유니코드 마이너스 기호를 사용하여 축 레이블과 텍스트에 음수를 나타냅니다. 그러나 일부 사용자는 시스템 또는 폰트 설정에 따라 이러한 기호가 잘 표시되지 않을 수 있습니다. 따라서 이 설정을 False로 변경하면 Matplotlib은 일반 ASCII 마이너스 기호를 사용하여 음수를 나타냅니다.
# 따라서 이 코드는 Matplotlib에서 플롯을 생성할 때 축 레이블 및 텍스트에 유니코드 마이너스 기호 대신 ASCII 마이너스 기호를 사용하도록 설정하는 것입니다.
#DataFrame 생성
data = pd.DataFrame( {
'이름' :['영식', '철수', '영희'],
'나이' :[22, 31, 25],
'몸무게' :[75.5, 80.2, 55.1]
})
st.dataframe(data, use_container_width=True)
fig, ax = plt.subplots()
ax.bar(data['이름'], data['나이'])
st.pyplot(fig)
barplot = sns.barplot(x='이름', y='나이', data=data, ax=ax, palette='Set2')
fig = barplot.get_figure()
st.pyplot(fig)
labels = ['G1', 'G2', 'G3', 'G4', 'G5',]
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
men_std = [2, 3, 4, 1, 2]
women_std = [3, 5, 2, 3, 3]
width = 0.35
fig, ax = plt.subplots()
ax.bar(labels, men_means, width, yerr=men_std, label='Men')
ax.bar(labels, women_means, width, yerr=women_std, bottom=men_means, label='women')
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.legend()
st.pyplot(fig)
yerr = y축의 오차
- men_std: 남성 그룹의 각 카테고리에 대한 표준 편차(또는 오차)를 나타내는 리스트입니다. 각 카테고리에 대한 표준 편차는 해당 카테고리의 막대 그래프 주위에 오차 막대를 그리는 데 사용됩니다.
- women_std: 여성 그룹의 각 카테고리에 대한 표준 편차(또는 오차)를 나타내는 리스트입니다. 각 카테고리에 대한 표준 편차는 해당 카테고리의 막대 그래프 주위에 오차 막대를 그리는 데 사용됩니다.
- width: 막대의 너비를 나타내는 값입니다. 이 값은 막대 그래프에서 각 막대의 너비를 조절하는 데 사용됩니다.
- ax.legend() 함수는 현재 그래프의 범례를 추가합니다. 이 함수를 호출하면 그래프에서 지정된 레이블에 해당하는 범례가 표시됩니다. 만약 각 그래프 요소에 레이블을 지정했다면, 그 레이블이 범례에 나타납니다.
- 예를 들어, 주어진 데이터에서는 "Men"과 "Women"의 두 가지 카테고리에 대한 막대 그래프를 그렸으므로, ax.legend() 함수를 호출하면 "Men"과 "Women"에 대한 범례가 표시됩니다.