<그래프 두개로 그리기>
- 안 붙은 그래프
바그래프 가로길이 0.36 반띵하면0.18
i 를 x축 중심 이라고 하면 바1은 -0.18 ,바2는 +0.18 해서 두 그래프가 딱붙어서 출력
x= [ i-0.20 for i in range(7)]
x2= [ i+0.20 for i in range(7)]
x_middle= [ i for i in range(7)]
plt.bar(x, original,color='darkgray',width=0.36,label='label1', edgecolor='black')
plt.bar(x2, (a+b+c+d)/4 ,color='white',width=0.36,label='lable2',edgecolor='black',hatch='/')
- 붙은 그래프
바그래프 가로길이 0.36 반띵하면 .018
i 를 x축 중심 이라고 하면 바1은 -0.20 ,바2는 +0.20 해서 두 그래프두개 0.4 띄워서 출력
x= [ i-0.18 for i in range(7)]
x2= [ i+0.18 for i in range(7)]
x_middle= [ i for i in range(7)]
plt.bar(x, original,color='darkgray',width=0.36,label='label1', edgecolor='black')
plt.bar(x2, (a+b+c+d)/4 ,color='white',width=0.36,label='lable2',edgecolor='black',hatch='/')
<화살표 그리기>
- 바가 7개면 7번 for 문돌려주고
- plt.arrow ( 시작하는점x, 시작하는점 y , 시작점에서 x축방향으로 이동할만큼, 시작점에서 y축방향으로 이동할만큼 )
- head_width (화살표머리 가로) , head_length(화살표머리 세로)
- fc, ec : 화살표머리랑 화살표대 색깔
- width : 화살표대 넓이 (설정안하면 실선)
for i in range(7):
plt.arrow(i+0.20, original[i], 0, -((original-(a+b+c+d)/4))[i]+0.8, head_width = 0.18,
head_length = 0.8,fc="k", ec="k",width=.06)
plt.show
<라벨달기>
- 바그래프안에 label = 'label1' 이런식으로 라벨달아주고
plt.bar(x, original,color='darkgray',width=0.36,label='label1', edgecolor='black')
plt.bar(x2, (a+b+c+d)/4 ,color='white',width=0.36,label='lable2',edgecolor='black',hatch='/',yerr=[(0,0,0,0,0,0,0),(original-(a+b+c+d)/4)] ,error_kw=dict(lw=2, capsize=0, capthick=2))
- 바그래프에 달아준 라벨을 표시해준다.
loc ( 그래프안에서 x , 그래프안에서 y )
plt.legend(fontsize=62,loc=(0.005,0.86))
<바그래프 칠하기,선긋기,테두리선>
- edgecolor :바 테두리선 색 (안해주면 색없음)
- inewidth : 바 테두리선 두께
- hatch : 빗금 ('/' , '//', '\\' 'x' ...)
- color : 바안에 칠하기 (검색ㄱ)
plt.bar(x, original,color='darkgray',width=0.36,label='label1', edgecolor='black',linewidth=0.5)
plt.bar(x2, (a+b+c+d)/4 ,color='white',width=0.36,label='lable2',edgecolor='black',linewidth=0.5,hatch='/',yerr=[(0,0,0,0,0,0,0),(original-(a+b+c+d)/4)] )
<x 축 돌리기>
- rotation = 95 (수직으로)
- rotation=0 (안돌림)
plt.xticks(x_middle,['a','b','c','d','e','f','g'])
plt.xticks(rotation=90,fontsize=80,ha="right")
# ha는 오른쪽을 기준으로 맞추라는뜻
<바그래프 위에 텍스트 표시>
o= ['%','%','%','%','%','%','%']
for i, v in enumerate(x2):
plt.text(v, original[i], str (round(((original-(a+b+c+d)/4)/original*100)[i],1))+o[i] ,
fontsize = 60,
color='black',
#weight="bold",
horizontalalignment='center',
verticalalignment='bottom')
<바그래프 사이에 간격 표시하기>
- yerr=[(0,0,0,0,0,0,0), 간격 ] ,error_kw=dict(lw=2, capsize=3, capthick=2))
- capsize : 가로축 길이 (0으로 하면 걍 실선으로 표시됨)
- capthick : 가로축 두께
plt.bar(x, original,color='darkgray',width=0.36,label='label1', edgecolor='black')
plt.bar(x2, (a+b+c+d)/4 ,color='white',width=0.36,label='lable2',edgecolor='black',hatch='/',yerr=[(0,0,0,0,0,0,0),(original-(a+b+c+d)/4)] ,error_kw=dict(lw=2, capsize=0, capthick=2))
- yerr=[1,1,1,1,1,1,1] 로 바꾸면
<바그래프 x 축 rotation 위치 조정하기>
'<문법> > 파이썬' 카테고리의 다른 글
DataFrame 자주쓰는 문법 정리 (0) | 2022.03.28 |
---|---|
[python] Saving multiple graphs as one pdf (0) | 2021.12.27 |
Pandas 열 한개 여러개로 쪼개기 (0) | 2021.01.13 |
형태소 분석 기본 연습 - 명사만 골라내기 (konlpy - Twitter) (0) | 2021.01.13 |
json 인코딩/디코딩 초간단정리 (0) | 2021.01.13 |