Python 데이터 시각 화 는 Matplotlib 로 자주 사용 되 는 그래 픽 을 그립 니 다.
12933 단어 PythonMatplotlib그리 기도형.
산 점 도 는 두 조 의 데이터 로 여러 개의 좌표 점 을 구성 하고 좌표 점 의 분 포 를 고찰 하 며 두 변수 간 에 특정한 관련 이 있 는 지 판단 하거나 좌표 점 의 분포 모델 을 정리한다.
특징:변수 간 에 수량 관련 추세 가 존재 하 는 지 판단 하고 분리 점 의 분포 규칙 을 나타 낸다.
산 점도 그리 기:
plt.scatter(x,y)\#기본 모양 색상 으로 산 점 도 를 그립 니 다.
예 를 들 어 우리 가 상하 이 2020 년 5,10 월 에 매일 낮 의 최고 기온(각각 리스트 a,b 에 위치)을 얻 었 다 고 가정 하면 이때 기온 과 시간 에 따라 변화 하 는 어떤 규칙 을 어떻게 관찰 합 니까?
#
y_5 = [11,17,16,11,12,11,12,13,10,14,8,13,12,15,14,17,18,21,16,17,30,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,15,10,11,13,12,13,6]
코드 는 다음 과 같 습 니 다:
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(12,5), dpi=100)
y_5 = [11,17,16,11,12,11,12,13,10,14,8,13,12,15,14,17,18,21,16,17,30,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,15,10,11,13,12,13,6]
x = range(1, 32)
plt.scatter(x, y_5, label=' ')
plt.scatter(x, y_10, label=' ')
# ,
plt.xlabel(" ")
plt.ylabel(" ")
plt.title(" ")
#
plt.legend(loc='best')
plt.show()
위의 그림 은 5,10 월 의 기온 이 날짜 에 따라 변화 하 는 것 을 그 렸 지만 이들 이 섞 여 있어 관찰 하기 어렵다.현재 x 데 이 터 를 수정 하여 10 월 의 좌표 점 을 단체 로 좌표 축 오른쪽으로 이동 시 키 고 개 선 된 코드 는 다음 과 같다.
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(12,5), dpi=100)
y_5 = [11,17,16,11,12,11,12,13,10,14,8,13,12,15,14,17,18,21,16,17,30,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,15,10,11,13,12,13,6]
x_5 = range(1, 32)
x_10 = range(33, 64)
plt.scatter(x_5, y_5, label=' ')
plt.scatter(x_10, y_10, label=' ')
#
x_t = list(x_4)+list(x_10)
x_l = ["5 {} ".format(i) for i in x_4]
x_l += ["10 {} ".format(i-31) for i in x_10]
plt.xticks(x_t[::3], x_l[::3], rotation=45)
#
plt.legend(loc='best')
plt.show()
2.막대 그래프
기둥 모양 그림 은 너비 가 같은 줄무늬 의 높이 나 길이 로 데이터 의 양 을 나타 내 는 도형 이다.기둥 모양 의 그림 은 가로로 놓 거나 세로 로 놓 을 수 있 으 며,세로 로 놓 을 때 도 기둥 모양 의 그림 이 라 고 부른다.
특징:
각 데이터 의 크기 를 직관 적 으로 반영 할 수 있다.
데이터 간 의 차 이 를 비교 하기 쉽다.
막대 그래프 그리 기:
plt.bar(x, width, align=‘center', **kwargs)
Parameters:
x : sequence of scalars.
width : scalar or array-like, optional,
align: {‘center', ‘edge'}, optional, default: ‘center'
Alignment of the bars to the x coordinates:
‘center': Center the base on the x positions.
‘edge': Align the left edges of the bars with the x positions.
, x
**kwargs:
color:
수평 막대 그래프 그리 기plt.barh(y,width)\#y 축 위치 에 있 는 수평 막대 그래프 를 그립 니 다.
예 를 들 어 우리 가 2019 년 내륙 영화 흥 행 20 위 권 의 영화(리스트 a)와 영화 흥 행 데이터(리스트 b)를 얻 었 다 고 가정 하고 막대 그래프 를 그 려 데 이 터 를 직관 적 으로 보 여 준다.코드 는 다음 과 같다.
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(15,10),dpi=100)
#
movie_name = [" "," 4: "," "," ",
" "," : "," 2 "," "," ",
" "," "," 2: "," : ",
" "," "," 4"," "," "," ",
" 2: "," "]
y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,
11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23,5.22]
#
x = range(len(movie_name))
#
# color ,
plt.bar(x, y, width=0.5, color=['b','r','g','y','c','m','y','k','c','g','g'])
# , 90
plt.xticks(x, movie_name, rotation=90)
#
plt.show()
#
plt.figure(figsize=(15,10),dpi=100)
plt.barh(movie_name, y, color=['b','r','g','y','c','m','k'])
plt.show()
공정 성 을 위해 서 는 영화 첫날 과 첫 주 흥 행 수입 을 비교 해 데이터 가 설득력 있 게 만들어 야 할 때 도 있다.가설 데 이 터 는 다음 과 같다.
movie_name = [' 3: ',' ',' ']
first_day = [10587.6,10062.5,1275.7] #
first_weekend=[36224.9,34479.6,11830] #
영화 첫날 과 첫 주 흥 행 데이터 그림 을 그립 니 다.코드 는 다음 과 같 습 니 다.
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(15,10),dpi=100)
#
movie_name = [' 3: ',' ',' ']
# ,
first_day = [10587.6,10062.5,1275.7]
first_weekend=[36224.9,34479.6,11830]
x = range(len(movie_name))
#
plt.bar(x, first_day, width=0.25)
#
plt.bar([i+0.25 for i in x], first_weekend, width=0.25)
#
# x ,
plt.xticks([i+0.125 for i in x], movie_name)
plt.show()
주의 점:
x 축 좌표 눈금 표시 위치 조정 은 도형 을 그 릴 때 x 데 이 터 를 조정 할 수도 있 고 x 축 눈금 을 그 릴 때 눈금 을 조정 하 는 방법 으로 x 축 눈금 을 두 개의 기둥 모양 그림 사이 에 표시 할 수도 있다.조정 하지 않 으 면 첫 번 째 막대 그래프 와 기본적으로 정렬 됩 니 다.
3.직사 도
직사 도 는 모양 이 기둥 모양 과 비슷 하지만 기둥 모양 과 는 전혀 다른 의 미 를 가지 고 있다.직사 도 는 통계학 의 개념 과 관련 되 므 로 먼저 데 이 터 를 그룹 으로 나 눈 다음 에 각 그룹 내 데이터 원 의 수량 을 통계 해 야 한다.좌표계 에서 가로 축 은 각 그룹의 단점 을 표시 하고 세로 축 은 주파 수 를 표시 하 며 각 사각형 의 높 은 대표 가 대응 하 는 주파 수 를 나타 내 는데 이런 통계 도 를 주파수 분포 직사 도 라 고 한다.
특징:연속 적 인 데 이 터 를 그립 니 다.한 그룹 또는 여러 그룹의 데이터 분포 상황 을 보 여 주 며 데이터 분포 의 특징 을 통계 합 니 다.
관련 개념:
그룹 수:데 이 터 를 통계 할 때 데 이 터 를 서로 다른 범위 에 따라 몇 개의 그룹 으로 나 누고 나 눈 그룹의 개 수 를 그룹 수 라 고 한다.
그룹 거리:각 조 의 두 점 의 차이.
직사 도 그리 기
plt.hist(x,bins=None)
x 를 수치 로 하고 bins 를 그룹 수 로 하 며 그룹 수=극 차/그룹 거 리 를 그립 니 다.
인 스 턴 스:만약 에 우리 가 일부 영화 의 시간 을 얻 었 다 고 가정 하고 직사 도 를 그 려 서 영화 의 시간 분포 상황 을 보 여 준다.코드 는 다음 과 같다.
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(15,10),dpi=100)
# ,
time =[131, 98, 125, 131, 124, 139, 131, 117, 128, 108,
135, 138, 131, 102, 107, 114, 119, 128, 121, 142,
127, 130, 124, 101, 110, 116, 117, 110, 128, 128,
115, 99, 136, 126, 134, 95, 138, 117, 111, 78,
132, 124, 113, 150, 110, 117, 86, 95, 144, 105,
126, 130,126, 130, 126, 116, 123, 106, 112, 138,
123, 86, 101, 99, 136,123, 117, 119, 105, 137,
123, 128, 125, 104, 109, 134, 125, 127,105, 120,
107, 129, 116, 108, 132, 103, 136, 118, 102, 120,
114,105, 115, 132, 145, 119, 121, 112, 139, 125,
138, 109, 132, 134,156, 106, 117, 127, 144, 139,
139, 119, 140, 83, 110, 102,123,107, 143, 115,
136, 118, 139, 123, 112, 118, 125, 109, 119, 133,
112, 114, 122, 109, 106, 123, 116, 131, 127, 115,
118, 112, 135,115, 146, 137, 116, 103, 144, 83,
123, 111, 110, 111, 100, 154,136, 100, 118, 119,
133, 134, 106, 129, 126, 110, 111, 109, 141, 120,
117, 106, 149, 122, 122, 110, 118, 127, 121, 114,
125, 126,114, 140, 103, 130, 141, 117, 106, 114,
121, 114, 133, 137, 92,121, 112, 146, 97, 137,
105, 98, 117, 112, 81, 97, 139, 113,134, 106,
144, 110, 137, 137, 111, 104, 117, 100, 111, 101,
110, 105, 129, 137, 112, 120, 113, 133, 112, 83,
94, 146, 133, 101, 131, 116, 111, 84, 137, 115,
122, 106, 144, 109, 123, 116, 111,111, 133, 150]
#
bins = 2
# , /
groups = int((max(time) - min(time)) / 2)
#
plt.hist(time, groups)
# x
plt.xticks(list(range(min(time), max(time)))[::2])
#
plt.xlabel(' ')
plt.ylabel(' ')
#
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()
부채 형 그림
부채 형 도 는 전체 원 으로 총 수 를 표시 하고 원 안의 각 부채 형의 크기 로 각 부분의 수량 이 전체 수량의 백분율 을 차지 하 는 것 을 나타 낸다.
부채 형 그림 그리 기
plt.pie(x, explode=None, labels=None)
x:부채 형 데이터
explode:어떤 블록 을 분리 할 지 설정 합 니 다.
labels:각 부채 형 라벨
autopct:백분율 데이터 태그
shadow:그림자 표시 여부
plt.pie()는 3 개의 반환 값 이 있 습 니 다:
patches:떡 그림 의 대상 을 그립 니 다.
텍스트 목록
autotexts:백분율 텍스트 목록
인 스 턴 스:만약 에 우리 가 일부 영화 의 배열 데 이 터 를 얻 었 다 고 가정 하고 부채 형 그림 을 그 려 서 영화 의 배열 비례 를 보 여 준다.코드 는 다음 과 같다.
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
#
plt.figure(figsize=(15, 10), dpi=100)
#
movie_name = [' 3: ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ']
place_count = [60605,54546,45819,28243,13270,9945,7679,6799,6101,4621,20105]
#
plt.pie(place_count, labels=movie_name, autopct="%1.2f%%")
# pie
plt.axis('equal')
#
plt.legend(loc="best")
plt.title(" ")
plt.show()
부채 형 그림 최적화 수단 에 그림자 추가,특정 데이터 분리 등:
import matplotlib.pyplot as plt
#
plt.rcParams['font.sans-serif']=['SimHei'] # sans_serif
plt.rcParams['axes.unicode_minus']=False #
plt.figure(figsize=(15, 10), dpi=100)
movie_name = [' 3: ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ']
place_count = [60605,54546,45819,28243,13270,9945,7679,6799,6101,4621,20105]
# , , 3
explode = [0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
res = plt.pie(place_count, labels=movie_name, explode=explode, autopct="%1.2f%%", shadow=True)
patches, texts, autotexts = res
print(patches) #
print(texts) #
print(autotexts) #
# pie
plt.axis('equal')
#
plt.legend(loc="best")
plt.title(" ")
plt.show()
인쇄 된 부채 형 그림 반환 값:최 적 화 된 부채 형 그림:
총결산
본 고 는 Matplotlib 를 이용 하여 산 점도,기둥 모양 도,직사 도,부채 형 도 를 그 리 는 기본 적 인 조작 을 서술 하 였 다.
파 이 썬 데이터 시각 화 를 위해 Matplotlib 로 자주 사용 하 는 그래 픽 을 그 리 는 글 을 소개 합 니 다.더 많은 관련 Matplotlib 그래 픽 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.