[파이썬 그래프] 상자수염그림 + 평균,표준편차
상자수염그림에 평균과 표준편차 추가한 그래프입니다. 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.
[파이썬 그래프] simp 방법 p값 변화 그래프
import matplotlib.pyplot as pltimport numpy as np# 밀도 계산 함수def simp_density(x, p): return x ** p# 디자인 변수x = np.linspace(0, 1, 100)# 페널티 팩터 값penalization_factors = [1, 2, 3, 4]colors = ['blue', 'orange', 'red', 'green']# 그래프 그리기plt.figure(figsize=(10, 6))for p, color in zip(penalization_factors, colors): density = simp_density(x, p) plt.plot(x, density, label=f'p = {p}', color=color)# 끝점..
2024. 6. 8.
numpy-stl mesh 데이터를 pyvista PolyData 로 바꾸기가 힘든 이유
numpy-stl 의 mesh 모듈에서 stl 을 생성하는 방식을 먼저 알아보겠습니다. mesh 모듈에서는 하나의 face 를 구성하는 점의 좌표만을 이용하여 face 를 정의합니다. 어떤 face1 을 구성하는 점의 좌표가 p1,p2,p2 라고 한다면 아래와 같이 정의되는 것입니다. face1=[p1,p2,p3] p1,p2,p3는 각각 크기가 3인 벡터입니다. 반면! pyvista 는 사용할 점들을 모아놓은 배열을 정의하고, 배열의 인덱스를 가져다가 face 를 정의합니다. 예를들어 face1 을 구성하는 점이, 점들을 모아놓은 배열에서 각각 2,8,4 번째라면 face1 은 아래와 같이 정의됩니다. face1=[2,8,4] 자, 이제 numpy-mesh 로 정의된 stl 을 pyvista 로 변환해야..
2023. 12. 8.
[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.