[파이썬 그래프] 상자수염그림 + 평균,표준편차
상자수염그림에 평균과 표준편차 추가한 그래프입니다. import matplotlib.pyplot as pltimport numpy as np# 데이터 생성np.random.seed(10)data1 = np.random.normal(100, 10, 200)data2 = np.random.normal(90, 20, 200)# 두 가지 데이터 세트를 리스트로 묶기data = [data1, data2]# 박스 플롯 그리기plt.boxplot(data, patch_artist=True, labels=['Data 1', 'Data 2'])# 평균과 표준편차 계산means = [np.mean(data1), np.mean(data2)]stds = [np.std(data1), np.std(data2)]# 평균과 표준편..
2024. 7. 23.
파이썬 그리드 격자(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] 그래프 종횡비 설정하기, 그래프 비율 설정하기
설명은 주석으로 대신합니다. 종횡비는 .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.