[numpy-stl] stl 생성 원리
numpy-stl 에서 정사면체를 생성하는 예제는 아래와 같습니다. import numpy as np from stl import mesh # mesh points vertices = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]]) # mesh faces faces = np.array([[0,1,2], # square [0,1,3], # triangle [0,2,3], [1,2,3]]) # triangle # Create the mesh cube = mesh.Mesh(np.zeros(faces.shape[0], dtype=mesh.Mesh.dtype)) for i, f in enumerate(faces): for j in range(3): cube.vec..
2023. 5. 26.
파이썬 그리드 격자(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] 그래프 축 눈금값 크기 설정
그래프 축 눈금값의 크기를 설정하는 방법입니다. xticks 또는 yticks 메소드 안에 fontsize 옵션을 설정해 주면 됩니다. 예시는 아래와 같습니다. import matplotlib.pyplot as plt import pandas as pd md=pd.DataFrame( {'X':[1,2,3],'Y':[2,4,10] } ) #그래프 생성 plt.plot(md['X'],md['Y']) #축 눈금 설정 plt.xticks([0,2,4],fontsize=15) plt.yticks([1,2,3,4,10],fontsize=20) #그래프 출력 plt.show()
2022. 3. 28.
[파이썬 matplotlib] 그래프 축 눈금 회전하기
그래프 축 눈금을 회전할 때는, 축 눈금을 설정한 뒤 rotation 옵션에 원하는 회전각도를 넣어주면 됩니다. 양수가 반시계방향, 음수가 시계방향 회전입니다. import matplotlib.pyplot as plt import pandas as pd md=pd.DataFrame( {'X':[1,2,3],'Y':[2,4,10] } ) #그래프 생성 plt.plot(md['X'],md['Y']) #축 눈금 설정 plt.xticks([0,2,4],rotation=-45) plt.yticks([1,2,3,4,10],rotation=90) #그래프 출력 plt.show()
2022. 3. 18.
[파이썬 matplotlib] 그래프 축 눈금 값을 원하는 값으로
축 눈금을 설정한 뒤, 눈금 값을 리스트로 입력해주면 됩니다. 아래 예시를 참고하세요. import matplotlib.pyplot as plt import pandas as pd md=pd.DataFrame( {'X':[1,2,3],'Y':[2,4,10] } ) #그래프 생성 plt.plot(md['X'],md['Y']) #축 눈금 설정 plt.xticks([0,2,4],['a','b','c']) plt.yticks([1,2,3,4,10],['A','B','C','D','E']) #그래프 출력 plt.show()
2022. 3. 18.
[파이썬 matplotlib] 그래프 축 눈금 설정 (ticks)
그래프 축 눈금 설정하는 메소드는 아래와 같습니다. x축 눈금 설정 메소드 : xticks y축 눈금 설정 메소드 : yticks 아래 예시를 통해 사용 방법을 알아봅시다. import matplotlib.pyplot as plt import pandas as pd md=pd.DataFrame( {'X':[1,2,3],'Y':[2,4,10] } ) #그래프 생성 plt.plot(md['X'],md['Y']) #축 눈금 설정 plt.xticks([0,2,4]) plt.yticks([1,2,3,4,10]) #그래프 출력 plt.show()
2022. 3. 18.
[파이썬 matplotlib] 분할된 그래프 범례 넣기 (legend)
화면을 분할하여 여러개의 그래프를 그린 경우 범례를 넣는 방법을 예시를 통해 알아봅시다. plot 메소드로 그래프를 생성할 때, label 옵션을 지정해주어야 합니다. label 에 입력된 이름이 범례에 출력됩니다. import matplotlib.pyplot as plt import pandas as pd md=pd.DataFrame( {'X':[1,2,3],'Y1':[2,1,5], 'Y2':[2,4,10] } ) #figure,ax 만들기 fig,ax=plt.subplots(1,2) #그래프 그리기 ax[0].plot(md['X'],md['Y1'],color='r',label="ax01") ax[0].plot(md['X'],md['Y2'],color='b',label="ax02") ax[1].plot..
2022. 3. 18.
[파이썬 matplotlib] 그래프 범례 넣기 (legend)
범례를 넣을 때는 legend 메소드를 사용합니다. 데이터 이름을 먼저 입력하고, 위치 옵션을 설정해주면 됩니다. 위치옵션은 loc 입니다. 입력 가능 값은 아래와 같습니다. 문자열로 입력합니다. best (최적위치) upper right upper left upper center lower right lower left lower center center left center right center 아래는 예시입니다. #범례넣기 부분을 보시면 됩니다. import matplotlib.pyplot as plt import pandas as pd #데이터 생성 df1=pd.DataFrame({'X':[45,50,64,72,77],'Y':[155,165,177,187,177]}) #그래프생성 plt.plot..
2022. 3. 17.
[파이썬 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] 그래프 마커 종류 (marker)
마커 설정은 plot 메소드의 marker 옵션으로 합니다. 대표적으로 사용하는 마커들은 아래와 같습니다. 그래프 이름이 마커설정 옵션과 같습니다. 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]}) #그래프생성 fig,ax=plt.subplots(3,3) ax[0,0].plot(df1['X'],df1['Y'],color='blue',linestyle='',marker='o',) ax[0,1].plot(df1['X'],df1['Y'],color='blue',linestyle='',marker='.'..
2022. 3. 15.