728x90
반응형
(문제)
data = [('월드컵', 8), ('전', 6), ('명', 6), ('우루과이', 5), ('한국', 5), ('축구', 4), ('또', 4), ('곳곳', 4), ('골', 4), ('이', 4)]
많이 언급된 단어와 각각 언급된 횟수의 리스트.
많이 언급된 단어 5개를 x축으로 하고 언급된 횟수를 y축으로 막대그래프 그리기
(방법)
import matplotlib.pyplot as plt
data = [('월드컵', 8), ('전', 6), ('명', 6), ('우루과이', 5), ('한국', 5)
, ('축구', 4), ('또', 4), ('곳곳', 4), ('골', 4), ('이', 4)]
data.sort(key=lambda x:-x[1]) # 2차원 배열에서 정렬. -x로 내림차순 정렬
def add_value_label(x_list,y_list): # bar chart에 값을 text로 표시
for i in range(1, len(x_list)+1):
plt.text(i-1,y_list[i-1],y_list[i-1])
fig = plt.figure(figsize=(10, 6)) # plot 크기 설정
plt.rcParams['font.family'] = 'NanumGothic' # 한글 가능하도록 폰트 설정
x_column = '단어'
y_column = '횟수'
x = [a[0] for a in data[:5]] # 상위 5개 이름
y = [a[1] for a in data[:5]] # 상위 5개 데이터
plt.bar(x, y) # bar chart 그리기
add_value_label(x, y) # 값 표시
plt.title("단어 안급 횟수 상위 5개",fontsize=16) # 제목 쓰기
plt.show()
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 상품명, 가격,수량 리스트 있을때 구매후 재고 출력 (0) | 2022.12.05 |
---|---|
[파이썬] 문제 : 학생, 학생관리 객체로 만들고 등록, 삭제 (0) | 2022.12.05 |
[파이썬] 문제 : numpy로 a 행렬을 b와 같은 형태로 만들기(concatenate, stack) (0) | 2022.12.04 |
[파이썬] 문제 : pandas 학생수가 많은 소속의 학생별 합계 계산 (0) | 2022.12.04 |
[파이썬] ImportError: cannot import name 'prod' from 'math' (0) | 2022.12.04 |
댓글