소개
이 랩에서는 Matplotlib 에서 텍스트 객체를 화면 좌표계가 아닌 플롯의 선 또는 객체를 기준으로 회전하는 방법을 보여줍니다. 이 기술은 플롯의 특정 대상과 관련하여 텍스트를 회전하려는 경우 유용할 수 있습니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
대각선 그리기
먼저, Matplotlib 의 plot() 함수를 사용하여 45 도 각도의 대각선을 그립니다.
fig, ax = plt.subplots()
## Plot diagonal line (45 degrees)
h = ax.plot(range(0, 10), range(0, 10))
플롯의 제한 조정
다음으로, 화면에서 볼 때 대각선이 더 이상 45 도 각도가 아니도록 플롯의 제한을 조정합니다. 이렇게 하면 화면 좌표계가 아닌 선을 기준으로 텍스트를 회전해야 하는 시나리오가 생성됩니다.
## set limits so that it no longer looks on screen to be 45 degrees
ax.set_xlim([-10, 20])
텍스트 위치 및 회전 각도 정의
이제 그림에 텍스트를 표시할 위치와 사용할 회전 각도를 정의합니다.
## Locations to plot text
l1 = np.array((1, 1))
l2 = np.array((5, 5))
## Rotate angle
angle = 45
올바른 회전 없이 텍스트 플롯
이제 선의 회전을 고려하지 않고 지정된 위치에 텍스트를 플롯합니다. 이렇게 하면 텍스트가 45 도 각도로 회전하게 되는데, 이는 우리가 원하는 바가 아닙니다.
## Plot text
th1 = ax.text(*l1, 'text not rotated correctly', fontsize=16,
rotation=angle, rotation_mode='anchor')
올바른 회전으로 텍스트 플롯
마지막으로, 선의 회전을 고려하여 지정된 위치에 텍스트를 플롯합니다. 이렇게 하면 텍스트가 선에 상대적으로 올바른 각도로 회전하게 됩니다.
## Plot text
th2 = ax.text(*l2, 'text rotated correctly', fontsize=16,
rotation=angle, rotation_mode='anchor',
transform_rotates_text=True)
그림 표시
두 세트의 플롯된 텍스트 간의 차이점을 확인하기 위해 그림을 표시합니다.
plt.show()
요약
이 Lab 에서는 Matplotlib 에서 선 또는 플롯의 객체에 상대적으로 텍스트 객체를 회전하는 방법을 배웠습니다. transform_rotates_text 매개변수를 사용하여 텍스트가 화면 좌표계가 아닌 선과 관련하여 올바른 각도로 회전하도록 할 수 있었습니다.