본문 바로가기
반응형

Matplotlib83

파이썬 그리드 격자(meshgrid) 만드는 법과 원리 아래와 같은 네 점을 표현하고 싶다고 합시다. 네 점의 좌표는 아래와 같습니다. (1,1) (1,2) (2,1) (2,2) x와 y 따로 배열 형태로 입력해야합니다. numpy array 를 이용하여 아래와 같이 입력할 수 있습니다. x=np.array([1,1,2,2]) y=np.array([1,2,1,2]) 이정도는 할만 한데 아래와 같이 입력하고 싶은 경우를 생각해봅시다. 25개의 점이므로 x 값 25개와 y값 25개를 각각 배열로 입력해야합니다. 이 과정을 편하게 해주는 함수가 meshgrid 입니다. 아래와 같이 입력하면 끝납니다. x=np.array([1,2,3,4,5]) y=np.array([1,2,3,4,5]) x,y=np.meshgrid(x,y) x와 y는 각각 5by5 의 2차원 배열이.. 2023. 1. 16.
[파이썬 matplotlib] 꺾은선 그래프 + 계단 계단 형태의 그래프를 그릴 때는 drawstyle 옵션에 'steps-post'를 입력하시면 됩니다. import matplotlib.pyplot as plt import numpy as np import pandas as pd #데이터 생성 df1=pd.DataFrame({'X':[45,50,64,72,77],'Y':[155,165,177,187,177]}) #그래프생성 plt.plot(df1['X'],df1['Y'],color='blue',linestyle='dashed',marker='o') plt.plot(df1['X'],df1['Y'],color='blue',drawstyle='steps-post',marker='o') #그래프 정보 설정 plt.xlim(40, 80) #x축 범위 plt.yli.. 2022. 3. 16.
[파이썬 matplotlib] 꺾은선 그래프 그리는 법 (라벨, 범위, 마커속성 설정) 꺾은선 그래프는 plot 함수에서 linestyle 옵션을 설정하여 그릴 수 있습니다. linestyle 옵션을 '-' 로 설정하면 됩니다. import matplotlib.pyplot as plt import numpy as np import pandas as pd #데이터 생성 df1=pd.DataFrame({'X':[45,50,64,72,77],'Y':[155,165,177,187,177]}) #그래프생성 plt.plot(df1['X'],df1['Y'],color='blue',linestyle='-',marker='o') #그래프 정보 설정 plt.xlim(40, 80) #x축 범위 plt.ylim(100, 200) #y축 범위 plt.xlabel('X') #x 라벨 plt.ylabel('Y') #.. 2022. 3. 15.
[matplotlib] 파이썬 한 화면에 여러 그래프 그리기 (subplots) mabplotlib 에서 화면을 분할하여 그래프를 그래는 메소드는 여러가지가 있습니다. 그 중 subplots 메소드로 그리는 방법을 알아봅시다. subplots 메소드를 사용하려면 두가지를 알아야 합니다. - Figure - subplot figure 는 그래프가 그려지는 화면입니다. subplot 은 그래프입니다. 한 figure 안에 여러개의 그래프를 그릴 수 있습니다. 그래프는 보통 ax 라고 이름붙입니다. figure 하나를 만들고 그래프 네개를 그려보겠습니다. 먼저 matplotlib 를 불러옵시다. import matplotlib.pyplot as plt subplots 메소드를 실행해봅시다. 2,2 는 화면을 2행2열로 분할하겠다는 의미입니다. plt.subplots(2,2) >>> plt.. 2022. 3. 15.
파이썬 한 화면에 여러 그래프 그리기 (add_subplot) mabplotlib 에서 add_subplot으로 그래프를 그릴 때 두가지를 알아야 합니다. - Figure - subplot figure 는 그래프가 그려지는 화면입니다. subplot 은 그래프입니다. 한 figure 안에 여러개의 그래프를 그릴 수 있습니다. 그래프는 보통 ax 라고 이름붙입니다. figure 하나를 만들고 그래프 네개를 그려보겠습니다. 괄호 안의 숫자 2,2,1 은 2행 2열로 화면을 분할하고 그 중 첫번째 칸이라는 뜻입니다. import matplotlib.pyplot as plt import numpy as np #figure 만들기 fig=plt.figure() #그래프 만들기 ax1=fig.add_subplot(2,2,1) ax2=fig.add_subplot(2,2,2) a.. 2022. 3. 14.
[파이썬 matplotlib] 그래프 종횡비 설정하기, 그래프 비율 설정하기 설명은 주석으로 대신합니다. 종횡비는 .set_aspect 메소드를 사용합니다. import pandas as pd import matplotlib.pyplot as plt #plot1 데이터 생성 df1=pd.DataFrame({'x':[100,150,200],'y':[100,150,200]}) #plot1 그래프 생성 ax1=plt.subplot(211) #화면을 2행1열로 나눈 것중 첫번째 ax1.plot(df1['x'],df1['y'],color='blue',linestyle='',marker='o') ax1.set_xlim(100, 200) #x축 범위 ax1.set_ylim(100, 200) #y축 범위 ax1.set_xlabel('Weight') #x 라벨 ax1.set_ylabel('Hei.. 2022. 3. 7.
[파이썬 matplotlib] 한 화면에 그래프 여러개 그리고 간격 설정하기 설명은 주석으로 대신합니다. import pandas as pd import matplotlib.pyplot as plt #plot1 데이터 생성 df1=pd.DataFrame({'Weight':[55,45,64,77,72],'Height':[155,165,177,187,177]}) #plot1 그래프 생성 plt.subplot(211) #화면을 2행1열로 나눈 것중 첫번째 plt.plot(df1['Weight'],df1['Height'],color='blue',linestyle='',marker='o') plt.xlim(50, 80) #x축 범위 plt.ylim(100, 200) #y축 범위 plt.xlabel('Weight') #x 라벨 plt.ylabel('Height') #y 라벨 plt.titl.. 2022. 3. 7.
[파이썬 matplotlib] 산점도 그래프 그리는 법 (라벨, 범위, 마커속성 설정) 설명은 주석으로 대신합니다. import pandas as pd import matplotlib.pyplot as plt #데이터 생성 df1=pd.DataFrame({'Weight':[55,45,64,77,72],'Height':[155,165,177,187,177]}) #boxplot 생성 plt.plot(df1['Weight'],df1['Height'],color='blue',linestyle='',marker='o') plt.xlim(50, 80) #x축 범위 plt.ylim(100, 200) #y축 범위 plt.xlabel('Weight') #x 라벨 plt.ylabel('Height') #y 라벨 plt.title("TITLE") #그래프 이름 #그래프 출력 plt.show() 출력 결과 2022. 3. 7.
[파이썬 판다스] 데이터프레임 상자수염그림 (그룹별) 판다스의 boxplot 메소드를 이용하여 상자수염그림을 그릴 수 있습니다. 아래 예시는 성별에 따른 키를 상자수염그림으로 그린 것입니다. import pandas as pd import matplotlib.pyplot as plt #데이터 생성 sr1=pd.DataFrame({'gender':['F','F','M','M','M'],'Height':[155,165,177,187,177]}) #boxplot 생성 myplot=sr1.boxplot(column=['Height'],by="gender") myplot.plot() #y축 범위 설정 plt.ylim(100, 200) #그래프 출력 plt.show() 2022. 3. 4.
[파이썬 matplotlib] 이미지맵(imshow) 범위설정하기 [파이썬 matplotlib] 이미지맵(imshow) 범위설정하기 이미지맵의 x축과 y축 범위는 index 로 되어 있습니다. 아래는 예시입니다. import numpy as np import matplotlib.cm as cm from matplotlib import pyplot as plt import scipy.stats as stats X=np.linspace(-4,4,100) Y=np.linspace(-4,4,100) Z=np.zeros((100,100)) for i,x in enumerate(X): for j,y in enumerate(X): Z[i,j]=stats.norm(0, 1).pdf(X[i])*stats.norm(0, 1).pdf(Y[j]) plt.imshow(Z,cm.gray) pl.. 2020. 12. 9.
[파이썬 matplotlib] 정규분포 2변수 이미지맵 (imshow) [파이썬 matplotlib] 정규분포 2변수 이미지맵 (imshow) inshow 함수를 이용하여 정규분포의 이미지맵을 그려봅시다. 등고선그래프라고 생각하시면 됩니다. import numpy as npimport matplotlib.cm as cmfrom matplotlib import pyplot as pltimport scipy.stats as stats X=np.linspace(-4,4,100)Y=np.linspace(-4,4,100) Z=np.zeros((100,100)) for i,x in enumerate(X): for j,y in enumerate(X): Z[i,j]=stats.norm(0, 1).pdf(X[i])*stats.norm(0, 1).pdf(Y[j]) plt.imshow(Z,cm.. 2020. 11. 27.
[파이썬 matplotlib] 이미지맵(imshow)의 원리 imshow는 원하는 사이즈의 픽셀을 원하는 색으로 채워서 만든 그림입니다. 쉽게말하면 원하는 크기의 행렬을 만들어서 각 칸을 원하는 색으로 채우는 것입니다. 각 칸을 채우는 방법은 colormap, RGB, RGBA 의 네가지가 있습니다. 아래 순서로 설명하겠습니다. 1) colormap 디폴트 2) colormap 변경방법 3) RGB 4) RGBA 하나씩 알아봅시다. 1) colormap 디폴트 먼저 3행3열의 행렬을 만들고 각 값을 아래와 같이 채워보겠습니다. import numpy as np from matplotlib import pyplot as plt Z=np.array([[10,0,0],[0,10,0],[0,0,10]]) 행렬형태로 표현하면 아래와 같습니다. 10 0 0 0 10 0 0 .. 2020. 11. 26.
[파이썬 matplotlib] 그래프를 여러 페이지의 pdf로 저장하기 [파이썬 matplotlib] 그래프를 여러 페이지의 pdf로 저장하기 먼저 pdf을 저장할 경로를 설정합니다. import os #확인하는 법current_path=os.getcwd() #변경하는 법os.chdir('원하는 경로') 그래프를 여러 페이지에 저장하는 방법은 먼저 pdf 파일을 생성하고, 생성된 pdf 파일에 한 페이지씩 내용을 추가하는 것입니다. 한 페이지는 savefig 를 기준으로 결정됩니다. savefig 를 하면 한 페이지가 완료됩니다. import numpy as npfrom matplotlib import pyplot as pltfrom matplotlib.backends.backend_pdf import PdfPages # 데이터 생성data = np.random.randn(.. 2020. 11. 26.
[파이썬 matplotlib] 그래프를 그림파일로 저장시 해상도 설정하기 [파이썬 matplotlib] 그래프를 그림파일로 저장시 해상도 설정하기 먼저 그림파일을 저장할 경로를 설정합니다. import os #확인하는 법current_path=os.getcwd() #변경하는 법os.chdir('원하는 경로') 그림파일로 저장할 때는 plt.savefig 메소드를 사용합니다. 확장자를 png,jpeg,tif,pdf 등으로 설정하면 확장자에 해당하는 파일로 저장됩니다. 해상도를 설정할 때는 dpi 옵션을 입력합니다. import numpy as npimport matplotlib.pyplot as plt X = np.linspace(0,np.pi,100)Y = np.sin(X) plt.axes(polar=True)plt.plot(X,Y) plt.savefig('myfigure.p.. 2020. 11. 26.
[파이썬 matplotlib] 그래프를 그림파일로 저장시 배경 투명하게 [파이썬 matplotlib] 그래프를 그림파일로 저장시 배경 투명하게 먼저 그림파일을 저장할 경로를 설정합니다. import os #확인하는 법current_path=os.getcwd() #변경하는 법os.chdir('원하는 경로') 그림파일로 저장할 때는 plt.savefig 메소드를 사용합니다. 확장자를 png,jpeg,tif,pdf 등으로 설정하면 확장자에 해당하는 파일로 저장됩니다. 배경을 투명하게 할 때는 transparent 옵션을 true로 설정합니다. import numpy as npimport matplotlib.pyplot as plt X = np.linspace(0,np.pi,100)Y = np.sin(X) plt.axes(polar=True)plt.plot(X,Y) plt.save.. 2020. 11. 26.
반응형