Python 데이터 시각 화 튜 토리 얼 의 Matplotlib 는 각종 도표 인 스 턴 스 를 실현 합 니 다.
11568 단어 pythonmatplotlib도표
데이터 분석 은 데 이 터 를 각종 도표 의 형식 으로 지도자 에 게 보 여 주 고 지도자 가 결정 할 수 있 도록 하 는 것 이기 때문에 떡 그림,기둥 모양 그림,선도 등 도표 제작 을 능숙 하 게 파악 하 는 것 은 데이터 분석가 에 게 필수 적 인 기능 이다.Python 은 Matplotlib 와 Pyechart 두 가지 훌륭 한 도표 제작 프레임 워 크 가 있 습 니 다.본 고 는 주로 Matplotlib 를 이용 하여 각종 데이터 도 표를 만 드 는 것 을 다 루 고 있다.
Matplotlib 는 2D 데이터 그래프 를 그 리 는 데 가장 유행 하 는 Python 라 이브 러 리 로 다양한 플랫폼 에서 사용 할 수 있 으 며 산 점도,막대 그래프,떡 그림 등 을 그 릴 수 있다.
1.막대 그래프
긴 사각형 이나 긴 사각형 의 높이 를 변수 로 하 는 표현 도형 의 통계 보고서 그림 으로 일련의 높이 가 다른 세로 줄무늬 가 데이터 분 포 를 나타 내 는 상황 에서 두 개 이상 의 가치(서로 다른 시간 또는 서로 다른 조건)를 비교 하 는 데 사용 되 고 하나의 변수 만 있 으 며 비교적 작은 데이터 세트 분석 에 사용 된다.기둥 모양 도 는 데이터 간 의 얼 마 를 비교 할 수 있 고 특정한 사건 의 변화 추 세 를 관찰 할 수 있 으 며 기둥 모양 도 가로로 배열 하거나 다 차원 방식 으로 표현 할 수 있다.
구현 코드:
#
import matplotlib.pyplot as plt
#
sales = [7125,12753,13143,8635]
# ,rcParams ,
plt.rcParams['font.sans-serif'] =['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# , x , y , , 1( 0 1 ),color ,alpha
plt.bar(range(4), sales, 0.4,color='r', alpha = 0.8)
#
plt.ylabel(' ')
#
plt.title(' 2018 ')
#
plt.xticks(range(4),[' ',' ',' ',' '])
# Y
plt.ylim([5000,15000])
#
for x,y in enumerate(sales):
plt.text(x,y+100,'%s' %y,ha='center')
#
plt.show()
효과 그림:막대 그래프 를 그 리 는 함수 bar()를 barh()로 바 꾸 면 막대 그래프 의 직사각형 이나 직사각형 을 수직 방향 에서 수평 방향 으로 바 꿀 수 있 습 니 다.
구현 코드:
#
import matplotlib.pyplot as plt
#
sales = [7125,12753,13143,8635]
#
plt.rcParams['font.sans-serif'] =['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = [' ',' ',' ',' ']
#
plt.barh(range(4), sales, 0.4,color='r', alpha = 0.8)
#
plt.ylabel(' ')
#
plt.title(' 2018 ')
#
plt.yticks(range(4),[' ',' ',' ',' '])
# Y
plt.xlim([5000,15000])
#
for x,y in enumerate(sales):
plt.text(y+0.2,x,'%s' %y,va='center')
#
plt.show()
효과 그림:bar()함수 가 barh()로 변 하 는 것 을 제외 하고.또 다른 몇 가지 부분 은 수정 해 야 합 니 다.각 막대 그래프 에 수치 라벨 을 추가 할 때 ha='center'를 va='center'로 바 꾸 고 x 축 라벨 을 추가 하 는 방법 을 xlabel 에서 ylabel 로 바 꿉 니 다.
기둥 모양 그림 과 접 는 선 그림 을 혼합 하여 사용 하 다.
기둥 모양 도 는 접 는 선 그림 과 혼합 하여 사용 할 수 있 으 며,어떤 데이터 의 변화 추 세 를 나타 내 는 데 사용 된다.다음은 예 를 들 어 기둥 모양 도 는 과일의 연간 판 매 량 을 나타 내 고,접 는 선 도 는 과일의 1 월 판 매 량 을 나타 낸다.
코드:
#
import matplotlib.pyplot as plt
jan_sales = [3010,4029,5021,3056]
#
sales = [7125,12753,13143,8635]
#
plt.rcParams['font.sans-serif'] =['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = [' ',' ',' ',' ']
plt.plot(x,jan_sales,'r')# 1 x 2 y 3 color
plt.plot(x,jan_sales,'g',lw=5)# 4 line w
#
plt.bar(range(4), sales, 0.4,color='b', alpha = 0.8)
#
plt.ylabel(' ')
#
plt.title(' 2018 ')
#
plt.xticks(range(4),[' ',' ',' ',' '])
# Y
plt.ylim([2000,15000])
#
for x,y in enumerate(sales):
plt.text(x,y+100,'%s' %y,ha='center')
#
plt.show()
효과 그림:2.접선 도
접선 도 는 주로 데이터 변화의 추 세 를 나타 내 는 데 쓰 인 다.접 는 선 도 는 직선 으로 서로 다른 점 을 연결 하 는 것 이다.
#
import matplotlib.pyplot as plt
#
jan_sales = [3010,4029,5021,3056]
#
plt.rcParams['font.sans-serif'] =['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = [' ',' ',' ',' ']
# x , y , ,
plt.plot(x,jan_sales,'r',lw=5)# 4 line w
#
plt.title(' 2018 1 ')
plt.ylim([2000,15000])
#
for x,y in enumerate(jan_sales):
plt.text(x,y+100,'%s' %y,ha='center')
#
plt.show()
효과 그림:접 는 선 도 는 plot()방법 으로 그립 니 다.
3.떡 그림
떡 그림 은 주로 데이터 의 비례 를 나타 내 는데 사람들 에 게 한눈 에 데이터 의 비례 크기 를 알 수 있다.떡 그림 은 pie()함수 로 그립 니 다.
import matplotlib.pyplot as plt
# ( R ggplot )
plt.style.use('ggplot')
#
edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
labels = [' ',' ',' ',' ',' ']
explode = [0,0.1,0,0,0] #
colors=['#FEB748','#EDD25D','#FE4F54','#51B4FF','#dd5555'] #
#
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 、 , ,
plt.axes(aspect='equal')
# x y
plt.xlim(0,4)
plt.ylim(0,4)
#
plt.pie(x = edu,#
explode=explode, #
labels=labels, #
colors=colors, #
autopct='%.1f%%', # ,
pctdistance=0.8,#
labeldistance = 1.15, #
startangle = 180, #
radius = 1.5, #
counterclock = False, # ,
wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'},#
textprops = {'fontsize':12, 'color':'k'}, #
center = (1.8,1.8), #
frame = 1)# ,
# x y
plt.xticks(())
plt.yticks(())
#
plt.title('2018 ')
#
plt.show()
효과 그림:pie 함수 인 자 를 간단하게 소개 합 니 다:
산 점도 의 주요 역할 은 두 변수 간 의 관계 의 강약 이나 관계 가 있 는 지 를 판단 하 는 것 이다.
산 점 도 는 scatter()방법 으로 그립 니 다.
import numpy as np
import matplotlib.pyplot as plt
#
n = 50
# 0, 1
x = np.random.normal(0, 1, n)
y = np.random.normal(0, 1, n)
#
color = np.arctan2(y, x)
#
plt.scatter(x, y, s = 75, c = color, alpha = 0.5)
#
plt.xlim((-1.5, 1.5))
plt.ylim((-1.5, 1.5))
#
plt.xticks(([-1,0,1,2,3,4]))
plt.yticks(([-1,0,1,2,3,4]))
plt.show()
효과 그림:5.상자 선도
상자 선 도 는 보통 데이터 의 크기,비례,추세 등 을 나타 내 는데 통계학 의 평균 값,분 위수,극치 등 통 계량 을 포함한다.따라서 이 그림 의 정 보 량 이 비교적 많 기 때문에 서로 다른 유형의 데이터 평균 수준 차 이 를 분석 할 수 있 을 뿐만 아니 라 데이터 간 의 이산 정도,이상 치,분포 차이 등 도 밝 힐 수 있다.
boxplot()방법 으로 그립 니 다.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
np.random.seed(2) #
df = pd.DataFrame(np.random.rand(5,4),
columns=['A', 'B', 'C', 'D'])# 0-1 5*4 , 4 DataFrame
df.boxplot() # plot.box()
plt.show()
효과 그림:6.레 다 투
레이더 도 는 주기 적 인 수치의 변 화 를 나 타 낼 수도 있 고 대상/차원 간 의 관 계 를 나 타 낼 수도 있다.
import numpy as np
import matplotlib.pyplot as plt
#
labels = np.array([' ',' ',' ',' ',' ',' '])
#
dataLenth = 6
#
data = np.array([7,4,3,6,4,8])
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
data = np.concatenate((data, [data[0]])) #
angles = np.concatenate((angles, [angles[0]])) #
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)# polar !!
ax.plot(angles, data, 'bo-', linewidth=2)#
ax.fill(angles, data, facecolor='r', alpha=0.25)#
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei")
ax.set_title("matplotlib ", va='bottom', fontproperties="SimHei")
ax.set_rlim(0,10)
ax.grid(True)
plt.show()
효과 그림:7.기포 도
기포 도 는 세 변수 사이 에 어떤 관계 가 있 는 지 판단 하 는 데 쓰 인 다.그것 은 산 점도 와 약간 유사 하지만,기포 도 는 기포 크기 를 새로운 차원 으로 할 뿐이다.
import pandas as pd
import matplotlib.pyplot as plt
import pandas as pd
d = {" ":pd.Series([2006,2007,2008,2009,2010]),
" ":pd.Series([10,200,120,150,300]),
" ":pd.Series([50,130,40,50,160]),
" ":pd.Series([1,2,0,1,2]),
" ":pd.Series([True,True,True,True,True])}
df=pd.DataFrame(d)
# ,rank ,
#n , ,
size=df[' '].rank()
n=20
# ,
color={0:'red',1:'blue',2:'orange'}
# color , data color
plt.scatter(df[' '],df[' '],color=[color[i] for i in df[' ']],s=size*n,alpha=0.6)
plt.show()
효과 그림:기포 도 는 산 점도 와 마찬가지 로 scatter 방법 으로 그립 니 다.차이 점 은 점 의 크기 가 다 르 고 산 점도 의 점 은 모두 같 으 며 기포 도 점 의 크기 는 다르다 는 것 이다.
이상 은 기둥 모양 도,산 점도,기포 도,접 는 선도 의 실현 방식 이다.모두 에 게 도움 이 되 기 를 바 랍 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.