Pandas와 Seaborn 외에도 matplotlib에 대한 간략한 소개를 제공하고 싶습니다. Matplotlib는 파이썬의 또 다른 중요한 모듈이자 라이브러리입니다. 데이터 시각화에 사용됩니다. 아래 코딩 예제가 시작됩니다. matplotlib에 대한 전체 문서는 https://matplotlib.org/index.html 에서 확인할 수 있습니다.
# matplotlib, matplotlib.pyplot 가져오기 import matplotlib import matplotlib.pyplot as plt # 데이터 프레임에 저장된 데이터를 시각화하고 싶기 때문에 pandas 및 numpy 가져오기 import pandas import numpy # 데이터 세트 가져오기 및 헤더 표시 data_df = pandas.read_csv(" oica.csv",sep=",") data_df.head()
년도 | 국가 | 산출 | |
---|---|---|---|
0 | 2018년 | 아르헨티나 | 466649 |
1 | 2018년 | 오스트리아 | 164900 |
2 | 2018년 | 벨기에 | 308493 |
삼 | 2018년 | 브라질 | 2879809 |
4 | 2018년 | 캐나다 | 2020840 |
# 1단계: 표면, 그림을 만듭니다. 예를 들어 크기를 설정할 수 있습니다 . # 그림은 페이지와 같습니다. 그림은 여러 플롯을 포함할 수 있습니다. 즉, 축 plt.figure(figsize=(10,10))
<축이 0인 그림 크기 720x720>
<축이 0인 그림 크기 720x720>
# .subplots()는 도형과 축을 반환합니다. # 축은 플로팅하는 기본 좌표입니다. # 명시된 바와 같이 그림은 여러 축을 포함할 수 있습니다. plt.figure(figsize=(10,10)) plt.subplots()
(<Figure size 432x288 with 1 Axes>, <matplotlib.axes._subplots.AxesSubplot at 0x257b791bb08>)
<축이 0인 그림 크기 720x720>
# 2단계: 도트 플롯, 즉 산점도를 플로팅합니다. # 축 객체에 플롯 추가 plt.figure(figsize=(10,10)) plt.plot( numpy .sort(data_df["output "]),marker="o",markersize=2)
[<matplotlib.lines.Line2D at 0x257b6180108>]
# 3단계: 제목과 축 레이블을 추가합니다. # -- 그림 크기 설정 plt.figure(figsize=(20,10)) # -- 플롯 만들기 plt.plot( numpy .sort(data_df["output "]), marker="o", markersize=6, linewidth =2, linestyle ="--", color="orange") # -- 제목 설정 plt.title("자동차 산업 연간 생산량", fontdict={"fontname":"Times New Roman", "fontsize" :32}) # -- xlabel 할당 plt.xlabel("data point no.", fontdict={"fontname":"Comic Sans MS",
(array([-200., 0., 200., 400., 600., 800., 1000.]), <7개의 텍스트 xticklabel 객체 목록>)
# matplotlib 로 작업하는 보다 구조화된 방법은 참조 핸들러로 작업하는 것입니다 . # -- 플로팅할 데이터 벡터를 설정합니다 . 5.75] x = range(0,len(y1)) # -- 빈 그림을 만듭니다(예: 그림). 핸들러 캡처 fig = plt.figure() # fig는 이것이 "그림"임을 나타냅니다. # -- 빈 그림, ig 빈 그림에 서브플롯을 만듭니다. 핸들러 캡처 ax = plt.subplot() # ax는 이것이 "축"임을 나타냅니다. 축은 기본적으로 그래프입니다 . # -- 축 처리기 참조를 사용하여 축에 선 플롯을 만듭니다 . 18, # -- 축 핸들러 참조를 사용하여 x 및 y축 레이블 추가 ax.set_xlabel("x axis values", fontsize=14, color="red") ax.set_ylabel("y axis values", fontsize=14, color= "purple") # -- 플롯 프레임 내에서 기본적으로 범례 추가 ax.legend(fontsize=10) # -- 그리드 추가 ax.grid(b=True, color="blue", alpha=0.1) # -- 이 시점까지 이 섹션에 표시된 모든 것을 표시합니다. plt.show()
# 이제 몇 가지 추가 예를 살펴보겠습니다. # 예: matplotlib를 사용하여 히스토그램을 만들 수 있습니다 . # -- 난수를 생성하기 위해 random을 가져오기 import random # -- random에서 randint()를 사용하여 임의의 정수를 생성합니다 . x = [] for i in range(0,100): x.append( random.randint(a=0,b=100)) # -- 그림 만들기 fig = plt.figure(figsize=(10,10)) # -- 그림에 축 추가 ax = plt.subplot() # -- 축 개체 처리기를 사용하여 축에 히스토그램 추가 ax.hist(x, bins=20, histtype="bar", color="pink") # -- 축 개체 처리기를 사용하여 히스토그램에 제목 추가 color="darkgreen") 를 사용하여 히스토그램에 제목 추가 # -- 축 개체 핸들러를 사용하여 x 및 y 축에 레이블 추가 ax.set_xlabel("observation value range", fontsize=16, color="darkgreen") ax.set_ylabel("absolute frequency", fontsize=16, color= "darkgreen") # -- 축 개체 처리기를 사용하여 x 및 y 눈금 레이블을 조정합니다. # -- 또한: 축 개체 처리기를 사용하여 x 및 y 축 눈금 자체를 조정합니다 . =5, color="blue", labelsize=20, size=12, # -- 이 섹션에 표시된 모든 항목을 표시합니다.이 시점까지 plt.show()
# 또 다른 예: Python에서 matplotlib를 사용한 3D 표면 플롯 # 출처: https://stackoverflow.com/questions/3810865/matplotlib-unknown-projection-3d-error # -- 먼저 플롯할 일부 데이터 x = [1,2 ,3] y = [1,2,3] z = [[1,2,3], [1,2,3], [1,2,3]] # -- pyplot을 사용하여 그림 생성 fig = plt .figure(figsize=(10,10)) # -- mpl_toolkits.mplot3d 에서 pyplot을 사용하여 축 생성 import axes3d, Axes3D ax = Axes3D(fig) # -- 표면 플롯 생성 ax.contour(x,y,z,extend3d =참)
<matplotlib.contour.QuadContourSet at 0x257b7899f48>
최적화 및 시뮬레이션을 전문으로하는 산업 엔지니어 (R, Python, SQL, VBA)
Leave a Reply