메모
전체 예제 코드를 다운로드 하려면 여기 를 클릭 하십시오.
아티스트 튜토리얼 #
Artist 개체를 사용하여 캔버스에 렌더링합니다.
Matplotlib API에는 세 개의 계층이 있습니다.
그림 이
matplotlib.backend_bases.FigureCanvas
그려지는 영역입니다.the
matplotlib.backend_bases.Renderer
는 어떻게 그리는지 아는 객체입니다.FigureCanvas
렌더러 를
matplotlib.artist.Artist
사용하여 캔버스에 페인팅하는 방법을 알고 있는 개체입니다.
wxPythonFigureCanvas
과
Renderer
같은 사용자 인터페이스 툴킷 이나 PostScript®와 같은 그리기 언어와 대화하는 모든 세부 사항 을 처리하고 그림, 텍스트 및 선을 표시하고 배치하는 것과 같은 모든 높은 수준의 구성을 처리합니다. 일반 사용자는 시간의 95%를 .Artist
Artists
Artists
프리미티브와 컨테이너 의 두 가지 유형이 있습니다 . 프리미티브는 우리가 캔버스에 그리려는 표준 그래픽 개체를 나타냅니다:
Line2D
, Rectangle
,
Text
, AxesImage
등. 컨테이너는 그것들을 넣을 장소입니다( Axis
,
Axes
및 Figure
). 표준 용도는 Figure
인스턴스 를 만들고 ,
Figure
하나 이상의 인스턴스를 만드는 데 사용하고, 인스턴스 도우미 메서드를 사용하여 프리미티브를 만드는 것입니다. 아래 예에서는
인스턴스를 인스턴스화 하고 이를 사용자 인터페이스 또는 드로잉 툴킷과 연결 하는 편리한 방법인 를 사용하여 인스턴스 를 생성합니다.Axes
Subplot
Axes
Figure
matplotlib.pyplot.figure()
Figure
FigureCanvas
. 아래에서 논의하겠지만 이것은 필요하지 않습니다. PostScript, PDF Gtk+ 또는 wxPython FigureCanvas
인스턴스로 직접 작업하고 직접 인스턴스화 Figures
하고 직접 연결할 수 있지만 여기서는 API에 초점을 맞추고
있으므로 일부는 처리 Artist
하도록 하겠습니다. pyplot
우리를 위한 세부 정보:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot
아마도 Matplotlib API에서 가장 Axes
중요한 클래스이며 대부분의 시간 동안 작업하게 될 것입니다. 이는 가 Axes
대부분의 개체가 들어가는 플로팅 영역이고 에 가장 일반적인 그래픽 프리미티브(각각 , , , )를 생성하기 위한 많은
특수
도우미
Axes
메서드( plot()
,
text()
,
hist()
,
)가 있기 때문 입니다. 이러한 도우미 메서드는 데이터(예: 배열 및 문자열)를 가져와 필요에 따라 기본 인스턴스를 만들고(예: ) 관련 컨테이너에 추가하고 요청 시 그릴 것입니다. 대부분의 사용자는 에 대해 잘 알고 있을 것 입니다 .imshow()
Line2D
Text
Rectangle
AxesImage
numpy
Artist
Line2D
Subplot
Axes
Subplot
인스턴스. Axes
임의의 위치에
생성하려면 0-1 상대 그림 좌표 add_axes()
의 값 목록을 사용하는 방법을 사용하십시오.[left, bottom, width, height]
fig2 = plt.figure()
ax2 = fig2.add_axes([0.15, 0.1, 0.7, 0.3])
계속해서 예제를 살펴보겠습니다.
이 예에서 ax
는 위의 호출 Axes
에 의해 생성된 인스턴스
( 단지 의 하위 클래스임을
기억하십시오 )를 호출 하면 인스턴스 를 생성하여 에 추가합니다 . 아래 대화형 IPython 세션에서 목록의 길이가 1이고 호출 에서 반환된 것과 동일한 줄을 포함하고
있음을 확인할 수 있습니다 .fig.add_subplot
Subplot
Axes
ax.plot
Line2D
Axes
Axes.lines
line, = ax.plot...
In [101]: ax.lines[0]
Out[101]: <matplotlib.lines.Line2D at 0x19a95710>
In [102]: line
Out[102]: <matplotlib.lines.Line2D at 0x19a95710>
후속 호출을 수행하면 ax.plot
(및 보류 상태가 기본값인 "on"인 경우) 추가 회선이 목록에 추가됩니다. remove
해당 메서드 를 호출하여 나중에 줄을 제거할 수 있습니다 .
Axes에는 x축 및 y축 눈금, 눈금 레이블 및 축 레이블을 구성하고 장식하는 도우미 메서드도 있습니다.
xtext = ax.set_xlabel('my xdata') # returns a Text instance
ytext = ax.set_ylabel('my ydata')
를 호출하면 의
인스턴스에 ax.set_xlabel
대한 정보를 전달합니다 . 각
인스턴스에는 눈금, 눈금 레이블 및 축 레이블의 레이아웃과 그리기를 처리 하는 및
인스턴스가 포함되어 있습니다.Text
XAxis
Axes
XAxis
YAxis
아래 그림을 만들어 보세요.
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
fig.subplots_adjust(top=0.8)
ax1 = fig.add_subplot(211)
ax1.set_ylabel('volts')
ax1.set_title('a sine wave')
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax1.plot(t, s, color='blue', lw=2)
# Fixing random state for reproducibility
np.random.seed(19680801)
ax2 = fig.add_axes([0.15, 0.1, 0.7, 0.3])
n, bins, patches = ax2.hist(np.random.randn(1000), 50,
facecolor='yellow', edgecolor='yellow')
ax2.set_xlabel('time (s)')
plt.show()
개체 사용자 지정 #
그림의 모든 요소는 Matplotlib 로 표시되며 각 요소에는
Artist
모양을 구성하는 광범위한 속성 목록이 있습니다. 그림 자체에는 그림
Rectangle
의 크기와 배경색 및 투명도를 설정하는 데 사용할 수 있는 정확한 크기가 포함되어 있습니다. 마찬가지로 각 Axes
경계 상자(일반적인 Matplotlib 플롯에서 검은색 가장자리가 있는 표준 흰색 상자) Rectangle
에는 축의 색상, 투명도 및 기타 속성을 결정하는 인스턴스가 있습니다. 이러한 인스턴스는 멤버 변수로 저장되며 Figure.patch
( Axes.patch
"패치"는 MATLAB에서 상속된 이름이며 그림에 있는 색상의 2D "패치"입니다(예: 직사각형, 원 및 다각형). 모든 Matplotlib Artist
에는 다음과 같은 속성이 있습니다 .
재산 |
설명 |
---|---|
알파 |
투명도 - 0-1의 스칼라 |
생기 있는 |
애니메이션 그리기를 용이하게 하는 데 사용되는 부울 |
축 |
아티스트가 살고 있는 축, 아마도 없음 |
클립박스 |
아티스트를 자르는 경계 상자 |
클립온 |
클리핑 활성화 여부 |
clip_path |
아티스트가 클립되는 경로 |
포함 |
아티스트가 픽 포인트를 포함하는지 여부를 테스트하는 픽킹 기능 |
수치 |
아티스트가 살고 있는 그림 인스턴스, 아마도 None |
상표 |
텍스트 레이블(예: 자동 레이블 지정용) |
이쑤시개 |
객체 선택을 제어하는 Python 객체 |
변환 |
변형 |
보이는 |
아티스트를 그려야 하는지 여부를 나타내는 부울 |
조더 |
그리기 순서를 결정하는 숫자 |
래스터화 |
부울; 벡터를 래스터 그래픽으로 변환(압축 및 EPS 투명도를 위해) |
각 속성은 구식 setter 또는 getter로 액세스됩니다(예, 이것이 Pythonistas를 짜증나게 한다는 것을 알고 있으며 속성 또는 특성을 통한 직접 액세스를 지원할 계획이지만 아직 완료되지 않았습니다). 예를 들어, 현재 알파에 반을 곱하려면:
a = o.get_alpha()
o.set_alpha(0.5*a)
여러 속성을 한 번에 설정하려는 경우 set
키워드 인수와 함께 메서드를 사용할 수도 있습니다. 예를 들어:
o.set(alpha=0.5, zorder=2)
Artist
Python 셸에서 대화식으로 작업하는 경우 속성
을 검사하는 편리한 방법 은 속성과 해당 값을 나열하는 matplotlib.artist.getp()
함수(단순히
pyplot에서)를 사용하는 것입니다. 이것은 또한 및 getp()
에서 파생된 클래스에서도 작동합니다 . 위에서 언급한 사각형 속성 은 다음과 같습니다 .Artist
Figure
Rectangle
Figure
In [149]: matplotlib.artist.getp(fig.patch)
agg_filter = None
alpha = None
animated = False
antialiased or aa = False
bbox = Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0)
capstyle = butt
children = []
clip_box = None
clip_on = True
clip_path = None
contains = None
data_transform = BboxTransformTo( TransformedBbox( Bbox...
edgecolor or ec = (1.0, 1.0, 1.0, 1.0)
extents = Bbox(x0=0.0, y0=0.0, x1=640.0, y1=480.0)
facecolor or fc = (1.0, 1.0, 1.0, 1.0)
figure = Figure(640x480)
fill = True
gid = None
hatch = None
height = 1
in_layout = False
joinstyle = miter
label =
linestyle or ls = solid
linewidth or lw = 0.0
patch_transform = CompositeGenericTransform( BboxTransformTo( ...
path = Path(array([[0., 0.], [1., 0.], [1.,...
path_effects = []
picker = None
rasterized = None
sketch_params = None
snap = None
transform = CompositeGenericTransform( CompositeGenericTra...
transformed_clip_path_and_affine = (None, None)
url = None
verts = [[ 0. 0.] [640. 0.] [640. 480.] [ 0. 480....
visible = True
width = 1
window_extent = Bbox(x0=0.0, y0=0.0, x1=640.0, y1=480.0)
x = 0
xy = (0, 0)
y = 0
zorder = 1
모든 클래스의 독스트링에는 Artist
속성도 포함되어 있으므로 대화형 "도움말" 또는
matplotlib.artist 에서 주어진 개체의 속성 목록을 참조할 수 있습니다.
개체 컨테이너 #
구성하려는 특정 개체의 속성을 검사하고 설정하는 방법을 알았으므로 해당 개체에 도달하는 방법을 알아야 합니다. 서론에서 언급한 것처럼 객체에는 프리미티브와 컨테이너의 두 가지 종류가 있습니다. 프리미티브는 일반적으로 구성하려는 항목( Text
인스턴스의 글꼴, a의 너비 Line2D
)이지만 컨테이너에도 몇 가지 속성이 있습니다. 예를 들어 the
는 플롯에 많은 프리미티브를 포함하는 컨테이너이지만 또한 x축이 '선형'인지 '로그'인지를 제어하는 속성도 있습니다 . 이 섹션에서는 다양한 컨테이너 개체 가 원하는 항목을 저장하는 위치를 검토합니다.Axes
Artist
xscale
Artists
그림 컨테이너 #
최상위 수준 컨테이너 Artist
는 이며
matplotlib.figure.Figure
그림의 모든 항목을 포함합니다. 그림의 배경은 에
Rectangle
저장되는 입니다
Figure.patch
. 그림 에 서브플롯( add_subplot()
) 및 축( add_axes()
)을 추가하면 이들은 에 추가됩니다 Figure.axes
. 이것들은 그것들을 생성하는 메소드에 의해서도 반환됩니다:
In [156]: fig = plt.figure()
In [157]: ax1 = fig.add_subplot(211)
In [158]: ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3])
In [159]: ax1
Out[159]: <AxesSubplot:>
In [160]: print(fig.axes)
[<AxesSubplot:>, <matplotlib.axes._axes.Axes object at 0x7f0768702be0>]
Figure는 pylab/pyplot 상태 머신을 지원하기 위해 "현재 축"(
Figure.gca
및
참조 Figure.sca
)의 개념을 유지하므로 Axes 목록에서 직접 Axes를 삽입하거나 제거하지 말고
add_subplot()
및
add_axes()
메서드를 사용하여 삽입해야 합니다
Axes.remove
. 지우는 것. Axes
그러나 사용자 지정하려는 인스턴스 에 액세스하기 위해 Axes 목록을 반복하거나 색인을 만들 수 있습니다. 다음은 모든 축 그리드를 켜는 예입니다.
for ax in fig.axes:
ax.grid(True)
Figure에는 고유 images
한 lines
, patches
및 text
속성도 있으며 이를 사용하여 프리미티브를 직접 추가할 수 있습니다. 그렇게 하면 의 기본 좌표계 Figure
는 단순히 픽셀 단위가 됩니다(일반적으로 원하는 것이 아님). 대신 그림 수준 방법을 사용하여 아티스트를 추가하는 경우(예: Figure.text
텍스트 추가에 사용) 기본 좌표계는 "그림 좌표"가 됩니다. 여기서 (0, 0)은 그림의 왼쪽 하단이고 (1, 1)은 그림의 왼쪽 아래입니다. )는 그림의 오른쪽 상단입니다.
모든 Artist
s와 마찬가지로 transform 속성을 설정하여 이 좌표계를 제어할 수 있습니다. Artist
변환을 fig.transFigure
다음과 같이 설정하여 "그림 좌표"를 명시적으로 사용할 수 있습니다 .
import matplotlib.lines as lines
fig = plt.figure()
l1 = lines.Line2D([0, 1], [0, 1], transform=fig.transFigure, figure=fig)
l2 = lines.Line2D([0, 1], [1, 0], transform=fig.transFigure, figure=fig)
fig.lines.extend([l1, l2])
plt.show()
Figure에 포함된 아티스트에 대한 요약은 다음과 같습니다.
그림 속성 |
설명 |
---|---|
축 |
|
반점 |
|
이미지 |
패치 목록 |
전설 |
그림 |
윤곽 |
Figure |
패치 |
그림 목록 |
텍스트 |
목록 그림 |
축 컨테이너 #
는 matplotlib.axes.Axes
Matplotlib 유니버스의 중심입니다. 여기에는 그림에 사용된 모든 것의 대부분이 포함되어 있으며 Artists
이를 생성하고 자체에 추가하는 많은 도우미 메서드와
포함된 항목 Artists
에 액세스하고 사용자 지정하는 도우미 메서드가 Artists
포함되어 있습니다. 와 마찬가지로
데카르트 좌표에 대한 a
와 극좌표 에 대한 a 를
Figure
포함합니다
. 이 패치는 플로팅 영역의 모양, 배경 및 테두리를 결정합니다.Patch
patch
Rectangle
Circle
ax = fig.add_subplot()
rect = ax.patch # a Rectangle instance
rect.set_facecolor('green')
플로팅 메서드(예: 표준)를 호출하고
plot
배열이나 값 목록을 전달할 때 메서드는 matplotlib.lines.Line2D
인스턴스 를 만들고 Line2D
키워드 인수로 전달된 모든 속성으로 행을 업데이트하고 에 행을 추가한 다음 Axes
사용자에게 반환합니다. :
In [213]: x, y = np.random.rand(2, 100)
In [214]: line, = ax.plot(x, y, '-', color='blue', linewidth=2)
plot
플롯에 여러 x, y 쌍을 전달할 수 있고 길이 목록의 첫 번째 요소를 line 변수로 풀기 때문에 라인 목록을 반환합니다. Axes.lines
다음 행이 목록 에 추가되었습니다
.
In [229]: print(ax.lines)
[<matplotlib.lines.Line2D at 0xd378b0c>]
마찬가지로
bar()
사각형 목록을 만드는 것과 같이 패치를 만드는 메서드는 목록에 패치를 추가합니다 Axes.patches
.
In [233]: n, bins, rectangles = ax.hist(np.random.randn(1000), 50)
In [234]: rectangles
Out[234]: <BarContainer object of 50 artists>
In [235]: print(len(ax.patches))
Out[235]: 50
에서 개체 를 만들고 추가할 때 몇 가지 작업을 수행해야 하므로 Axes.lines
또는 Axes.patches
목록 에 개체를 직접 추가 하면 안 됩니다.Axes
의
figure
및axes
속성을 설정합니다Artist
.기본
Axes
변환을 설정합니다(아직 설정되지 않은 경우).에 포함된 데이터를 검사하여
Artist
자동 크기 조정을 제어하는 데이터 구조를 업데이트하므로 플롯된 데이터를 포함하도록 보기 제한을 조정할 수 있습니다.
그럼에도 불구하고 개체를 직접 만들고 및 와
Axes
같은 using 도우미 메서드 에 직접 추가할 수 있습니다
. 다음은 진행 상황을 설명하는 주석이 달린 대화형 세션입니다.add_line
add_patch
In [262]: fig, ax = plt.subplots()
# create a rectangle instance
In [263]: rect = matplotlib.patches.Rectangle((1, 1), width=5, height=12)
# by default the axes instance is None
In [264]: print(rect.axes)
None
# and the transformation instance is set to the "identity transform"
In [265]: print(rect.get_data_transform())
IdentityTransform()
# now we add the Rectangle to the Axes
In [266]: ax.add_patch(rect)
# and notice that the ax.add_patch method has set the axes
# instance
In [267]: print(rect.axes)
Axes(0.125,0.1;0.775x0.8)
# and the transformation has been set too
In [268]: print(rect.get_data_transform())
CompositeGenericTransform(
TransformWrapper(
BlendedAffine2D(
IdentityTransform(),
IdentityTransform())),
CompositeGenericTransform(
BboxTransformFrom(
TransformedBbox(
Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0),
TransformWrapper(
BlendedAffine2D(
IdentityTransform(),
IdentityTransform())))),
BboxTransformTo(
TransformedBbox(
Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88),
BboxTransformTo(
TransformedBbox(
Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8),
Affine2D(
[[100. 0. 0.]
[ 0. 100. 0.]
[ 0. 0. 1.]])))))))
# the default axes transformation is ax.transData
In [269]: print(ax.transData)
CompositeGenericTransform(
TransformWrapper(
BlendedAffine2D(
IdentityTransform(),
IdentityTransform())),
CompositeGenericTransform(
BboxTransformFrom(
TransformedBbox(
Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0),
TransformWrapper(
BlendedAffine2D(
IdentityTransform(),
IdentityTransform())))),
BboxTransformTo(
TransformedBbox(
Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88),
BboxTransformTo(
TransformedBbox(
Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8),
Affine2D(
[[100. 0. 0.]
[ 0. 100. 0.]
[ 0. 0. 1.]])))))))
# notice that the xlimits of the Axes have not been changed
In [270]: print(ax.get_xlim())
(0.0, 1.0)
# but the data limits have been updated to encompass the rectangle
In [271]: print(ax.dataLim.bounds)
(1.0, 1.0, 5.0, 12.0)
# we can manually invoke the auto-scaling machinery
In [272]: ax.autoscale_view()
# and now the xlim are updated to encompass the rectangle, plus margins
In [273]: print(ax.get_xlim())
(0.75, 6.25)
# we have to manually force a figure draw
In [274]: fig.canvas.draw()
Axes
프리미티브를 생성
Artists
하고 각각의 컨테이너에 추가하기 위한 수많은 도우미 메서드가 있습니다. 아래 표에는 작은 샘플, Artist
생성 유형 및 저장 위치가 요약되어 있습니다.
축 도우미 방법 |
아티스트 |
컨테이너 |
---|---|---|
|
도끼.텍스트 |
|
|
도끼 패치 |
|
|
ax.lines 및 ax.patches |
|
|
도끼 패치 |
|
|
도끼 패치 |
|
|
도끼.이미지 |
|
|
ax.get_legend() |
|
|
도끼.선 |
|
|
도끼.컬렉션 |
|
|
도끼.텍스트 |
이 모든 것 외에도 에는 눈금 및 레이블 그리기를 처리하는 두 가지 중요한 컨테이너인
및 Artists
가 포함되어 있습니다. 이들은 인스턴스 변수로 저장
되며
. 및
컨테이너는 아래에 자세히 설명되어 있지만 인스턴스 에 대한 호출을 전달하는 많은 도우미 메서드가 포함되어
있으므로 원하지 않는 한 직접 작업할 필요가 없는 경우가 많습니다. 예를 들어 도우미 메서드 를 사용하여 눈금 레이블 의 글꼴 색상을 설정할 수 있습니다.Axes
Artist
XAxis
YAxis
xaxis
yaxis
XAxis
YAxis
Axes
Axis
XAxis
Axes
ax.tick_params(axis='x', labelcolor='orange')
Axes
다음은 에 포함 된 아티스트에 대한 요약입니다.
축 속성 |
설명 |
---|---|
예술가들 |
인스턴스 |
반점 |
|
컬렉션 |
인스턴스 |
이미지 |
|
윤곽 |
인스턴스 |
패치 |
인스턴스 |
텍스트 |
인스턴스 |
x축 |
|
y축 |
|
범례는 다음을 통해 액세스할 수 있습니다 get_legend
.
축 컨테이너 #
인스턴스 는 matplotlib.axis.Axis
눈금선, 눈금선, 눈금 레이블 및 축 레이블 그리기를 처리합니다. y축에 대해 왼쪽 및 오른쪽 눈금을 별도로 구성하고 x축에 대해 위쪽 및 아래쪽 눈금을 별도로 구성할 수 있습니다. 또한 Axis
자동 크기 조정, 패닝 및 확대/축소에 사용되는 데이터 및 보기 간격은 물론 눈금이 배치되는 위치와 눈금이 문자열로 표시되는 방식을 제어 하는 Locator
및
인스턴스를 저장합니다.Formatter
각 Axis
개체에는 주요 및 보조 눈금 목록뿐만 아니라 label
속성( 및
pyplot
에 대한 호출에서 수정되는 것)이 포함되어 있습니다. 눈금은
눈금 및 눈금 레이블을 렌더링하는 실제 라인 및 텍스트 프리미티브를 포함하는 인스턴스입니다. 틱은 필요에 따라 동적으로 생성되기 때문에(예: 패닝 및 확대/축소할 때) 접근자 메서드 및 를 통해 주요 및 보조 틱 목록에 액세스해야 합니다
. 틱에는 모든 프리미티브가 포함되어 있고 아래에서 다루겠지만
인스턴스에는 틱 라인, 틱 레이블, 틱 위치 등을 반환하는 접근자 메서드가 있습니다.xlabel
ylabel
axis.XTick
axis.YTick
axis.Axis.get_major_ticks
axis.Axis.get_minor_ticks
Axis
fig, ax = plt.subplots()
axis = ax.xaxis
axis.get_ticklocs()
array([0. , 0.2, 0.4, 0.6, 0.8, 1. ])
[Text(0.0, 0, '0.0'), Text(0.2, 0, '0.2'), Text(0.4, 0, '0.4'), Text(0.6000000000000001, 0, '0.6'), Text(0.8, 0, '0.8'), Text(1.0, 0, '1.0')]
기본적으로 상단과 하단에 눈금선이 있지만 x축 아래에는 눈금 레이블만 있기 때문에 눈금선이 레이블보다 두 배 더 많습니다. 그러나 이것은 사용자 정의할 수 있습니다.
<a list of 12 Line2D ticklines objects>
그리고 위의 방법을 사용하면 기본적으로 주요 진드기 목록만 가져오지만 보조 진드기를 요청할 수도 있습니다.
axis.get_ticklabels(minor=True)
axis.get_ticklines(minor=True)
<a list of 0 Line2D ticklines objects>
다음은 의 유용한 접근자 메서드 중 일부에 대한 요약 Axis
입니다
set_major_formatter()
.
축 접근자 방법 |
설명 |
---|---|
축의 배율(예: 'log' 또는 'linear') |
|
Axis 보기 제한의 간격 인스턴스 |
|
Axis 데이터 제한의 간격 인스턴스 |
|
Axis의 그리드 선 목록 |
|
축 레이블 - |
|
축 오프셋 텍스트 - |
|
인스턴스 목록 |
|
인스턴스 목록 |
|
Tick 위치 목록 - 키워드 minor=True|False |
|
주요 진드기에 대한 |
|
주요 진드기에 대한 |
|
|
|
|
|
|
|
|
|
메이저 또는 마이너 틱에 대해 그리드를 켜거나 끕니다. |
다음은 Axes 및 Tick 속성을 사용자 정의하는 아름다움 때문에 권장되지 않는 예입니다.
# plt.figure creates a matplotlib.figure.Figure instance
fig = plt.figure()
rect = fig.patch # a rectangle instance
rect.set_facecolor('lightgoldenrodyellow')
ax1 = fig.add_axes([0.1, 0.3, 0.4, 0.4])
rect = ax1.patch
rect.set_facecolor('lightslategray')
for label in ax1.xaxis.get_ticklabels():
# label is a Text instance
label.set_color('red')
label.set_rotation(45)
label.set_fontsize(16)
for line in ax1.yaxis.get_ticklines():
# line is a Line2D instance
line.set_color('green')
line.set_markersize(25)
line.set_markeredgewidth(3)
plt.show()
틱 컨테이너 #
The 는 the에서 the to the
to the
로 matplotlib.axis.Tick
하강하는 마지막 컨테이너 개체입니다 . 에는 눈금 및 그리드 선 인스턴스와 위쪽 및 아래쪽 눈금에 대한 레이블 인스턴스가 포함됩니다. 이들 각각은 의 속성으로 직접 액세스할 수 있습니다 .Figure
Axes
Axis
Tick
Tick
Tick
틱 속성 |
설명 |
---|---|
틱1라인 |
|
틱2라인 |
|
격자선 |
|
라벨1 |
|
라벨2 |
|
다음은 달러 기호가 있는 오른쪽 눈금에 대한 포맷터를 설정하고 y축의 오른쪽에서 녹색으로 표시하는 예입니다.
import numpy as np
import matplotlib.pyplot as plt
# Fixing random state for reproducibility
np.random.seed(19680801)
fig, ax = plt.subplots()
ax.plot(100*np.random.rand(20))
# Use automatic StrMethodFormatter
ax.yaxis.set_major_formatter('${x:1.2f}')
ax.yaxis.set_tick_params(which='major', labelcolor='green',
labelleft=False, labelright=True)
plt.show()
스크립트의 총 실행 시간: ( 0분 1.067초)