Matplotlib 튜토리얼-플롯에 텍스트 배치
이 튜토리얼에서 줄거리에 텍스트를 배치하는 방법에 대해 배웁니다. 텍스트를 추가하고 해당 텍스트에 좌표 위치를 지정하거나 특정 플롯에 텍스트를 추가하고 해당 플롯을 직접 가리키는 화살표를 그릴 수도 있습니다.
Matplotlib 도끼 Text
matplotlib.axes.Axes.text(x, y, s, fontdict=None, withdash=False, **kwargs)
데이터 좌표에서(x, y)
위치의 축에 s
텍스트를 추가합니다.
** 매개 변수 **
이름 | 데이터 형식 | 기술 |
---|---|---|
x, y |
스칼라 | 텍스트를 배치 할 위치 |
s |
str |
주석 텍스트 |
fontdict |
사전 | 기본 텍스트 글꼴 속성을 재정의하는 사전 |
Matplotlib 축Text
기본 예
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
y = 10 * np.sin(x)
fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(2.0, 9.5, "Peak Value", fontsize=14)
ax.grid(True)
plt.show()
Matplotlib 축Text
회전
축 text
에는 플롯에서 텍스트 회전 각도를 지정하는 키워드 인수- rotation
이 있습니다. ‘회전’각도는 0에서 360 (도) 사이입니다.
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
y = 10 * np.sin(x)
fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(1.3, 9.0, "Peak Value", fontsize=16, rotation=270)
ax.grid(True)
plt.show()
Matplotlib 축Text
회전 각도 설명
회전 각도는 시계 반대 방향입니다. 우리는 회전 각도 정의를 설명하기 위해 데모 스크립트를 만듭니다.
import matplotlib.pyplot as plt
import numpy as np
def addtext(ax, props):
for x in range(8):
angle = 45 * x
ax.text(0.5 + x, 0.5, "{} degree".format(angle), props, rotation=angle)
ax.scatter(x + 0.5, 0.5, color="r")
ax.set_yticks([0, 0.5, 1])
ax.set_xlim(0, 8)
ax.grid(True)
# the text bounding box
bbox = {"fc": "0.8", "pad": 0}
fig, axs = plt.subplots(1, 1, figsize=(8, 3))
addtext(axs, {"ha": "center", "va": "center", "bbox": bbox})
axs.set_xticks(np.arange(0, 8.1, 0.5), [])
axs.set_ylabel("center / center")
plt.show()
텍스트는 텍스트 사각형을 둘러싸는 사각형 상자 인 경계 상자에 따라 정렬됩니다. 텍스트가 먼저 회전 된 다음 정렬됩니다. 기본적으로 텍스트는(x, y)
위치에 중심을두고이 지점을 중심으로 회전 한 다음 회전 된 텍스트의 경계 상자에 따라 정렬됩니다.
따라서 왼쪽, 아래쪽 정렬을 지정하면 회전 된 텍스트의 경계 상자 왼쪽 아래가 텍스트의(x, y)
좌표에있게됩니다.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook