[파이썬 matplotlib] 그룹형 막대그래프
[파이썬 matplotlib] 그룹형 막대그래프 그룹형 막대그래프를 그리는 원리는, 한 그래프에 여러 막대그래프를 그리고 각 막대그래프가 서로 겹치지 않는 위치에 있도록 하는 것입니다. 따라서 각 그래프의 width와 그래프 사이 간격을 잘 고려해주어야 합니다. 그래프 width를 0.5로 놓겠습니다. 간격도 0.5씩 떨어지도록 해주면 됩니다. import matplotlib.pyplot as plt X1=[1,3,5,7]data1 = [1,2,3,4]plt.bar(X1, data1,color='r',width=0.5) X2=[1+0.5,3+0.5,5+0.5,7+0.5]data2 = [2,3,4,5]plt.bar(X2, data2,color='g',width=0.5) X3=[1+1,3+1,5+1,7+1]..
2020. 11. 16.
[파이썬 matplotlib] 막대그래프 눈금 크기, 회전 설정
[파이썬 matplotlib] 막대그래프 눈금 크기, 회전 설정 아래와 같은 막대그래프를 그려봅시다. import matplotlib.pyplot as plt X=[1,3,5,7]data = [1,2,3,4]plt.bar(X, data,color='r') ticklabel=['a','b','c','d']plt.xticks(X,ticklabel) plt.show() 눈금 크기는 fontsize 옵션, 회전은 rotation 옵션을 사용합니다. X=[1,3,5,7]data = [1,2,3,4]plt.bar(X, data,color='r')ticklabel=['a','b','c','d']plt.xticks(X,ticklabel,fontsize=15,rotation=-30) plt.show()
2020. 11. 16.
[파이썬 matplotlib] 막대그래프 눈금 이름 설정 (xticks 메소드)
[파이썬 matplotlib] 막대그래프 x눈금 이름 설정 (xticks 메소드) 아래와 같이 코드를 짜면 눈금 이름이 a,b,c,d로 입력됩니다. import matplotlib.pyplot as plt X=['a','b','c','d']data = [1,2,3,4] plt.bar(X, data,color='r')plt.show() 하지만 별로 추천하고 싶은 방법은 아닙니다. X축 눈금을 컨트롤 할 수 없기 때문입니다. 아래와 같이 입력하면 눈금도 컨트롤할 수 있고, 눈금 이름도 입력할 수 있습니다. X=[1,3,5,7]data = [1,2,3,4]plt.bar(X, data,color='r') ticklabel=['a','b','c','d']plt.xticks(X,ticklabel) plt.show(..
2020. 11. 16.
[파이썬과 STL] 5. 두 점과 평면의 교점 함수 사용해보기
[파이썬과 STL] 5. 두 점과 평면의 교점 함수 사용해보기 지난시간에 정의한 함수를 사용해봅시다. import numpy as np def po2pl1(p,q,a,N): P_p=np.dot(N,p)-np.dot(N,a) P_q=np.dot(N,q)-np.dot(N,a) result=P_p*P_q if result>0: print("no intersection point") else : return abs(P_q)/(np.abs(P_p)+np.abs(P_q))*p+abs(P_p)/(np.abs(P_p)+np.abs(P_q))*q 평면은 (0,5,0)을 지나고, 법선벡터로 (0,1,0)을 갖는 평면입니다. a=np.array([0,5,0])N=np.array([0,1,0]) 점은 아래와 같이 세 점이 있..
2020. 11. 12.
[파이썬과 STL] 4. 두 점과 평면의 교점 함수
[파이썬과 STL] 4. 두 점과 평면의 교점 함수 지난시간에 두 점과 평면의 교점을 구한 코드를 가져옵시다. import numpy as np #두 점p=np.array([2,4,5])q=np.array([-4,-2,-6]) #평면a=np.array([1,3,2])N=np.array([2,3,5]) #두 점의 평면의방정식 함수값P_p=np.dot(N,p)-np.dot(N,a)P_q=np.dot(N,q)-np.dot(N,a) #결과, 음수인 경우 교점 존재result=P_p*P_q #교점inter_p=abs(P_q)/(np.abs(P_p)+np.abs(P_q))*p+abs(P_p)/(np.abs(P_p)+np.abs(P_q))*q 이제 함수로 바꿔봅시다. 아래와 같이 바꿨습니다. def po2pl1(p,..
2020. 11. 12.
[파이썬과 STL] 3. 두 점과 평면의 교점
[파이썬과 STL] 3. 두 점과 평면의 교점 STL 을 평면으로 잘라서 section 을 얻고 싶습니다. 이를 위해 평면과 두 점을 입력하면 두 점을 연결한 선분과 평면의 교점을 구해주는 함수가 필요합니다. 교점이 없는 경우는 아무 것도 반환하지 않고, 교점이 있는 경우는 점을 반환합니다. 평면은 한 점과, 법선벡터로 정의됩니다. 한점 (a,b,c)법선벡터 (n1,n2,n3) 위 두 조건을 만족하는 평면의 방정식은 아래와 같습니다. P(x,y,z)라고 놓겠습니다. P(x,y,z)=n1(x-a)+n2(y-b)+n3(z-c)=0 아래와 같이 벡터의 내적 형태로도 놓을 수 있습니다. P(x,y,z)=[n1,n2,n3][x,y,z]-[n1,n2,n3][a,b,c]=0 임의의 두 점을 (p1,p2,p3) (q1..
2020. 11. 12.