Files
ailearning/docs/da/086.md
2020-10-19 21:08:55 +08:00

142 KiB

注释

使用文本框进行注释

先看一个简单的例子:

In [1]:

import numpy.random
import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure(1, figsize=(5,5))
fig.clf()

ax = fig.add_subplot(111)
ax.set_aspect(1)

x1 = -1 + numpy.random.randn(100)
y1 = -1 + numpy.random.randn(100)
x2 = 1. + numpy.random.randn(100)
y2 = 1. + numpy.random.randn(100)

ax.scatter(x1, y1, color="r")
ax.scatter(x2, y2, color="g")

# 加上两个文本框
bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)
ax.text(-2, -2, "Sample A", ha="center", va="center", size=20,
        bbox=bbox_props)
ax.text(2, 2, "Sample B", ha="center", va="center", size=20,
        bbox=bbox_props)

# 加上一个箭头文本框
bbox_props = dict(boxstyle="rarrow", fc=(0.8,0.9,0.9), ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
            size=15,
            bbox=bbox_props)

bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)

ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)

plt.show()

![](data:image/png;base64,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 RU5ErkJggg== )

text() 函数接受 bbox 参数来绘制文本框。

bbox_props = dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
            size=15,
            bbox=bbox_props)

可以这样来获取这个文本框,并对其参数进行修改:

bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)

可用的文本框风格有:

class name attrs
LArrow larrow pad=0.3
RArrow rarrow pad=0.3
Round round pad=0.3,rounding_size=None
Round4 round4 pad=0.3,rounding_size=None
Roundtooth roundtooth pad=0.3,tooth_size=None
Sawtooth sawtooth pad=0.3,tooth_size=None
Square square pad=0.3

In [2]:

import matplotlib.patches as mpatch
import matplotlib.pyplot as plt

styles = mpatch.BoxStyle.get_styles()

figheight = (len(styles)+.5)
fig1 = plt.figure(figsize=(4/1.5, figheight/1.5))
fontsize = 0.3 * 72
ax = fig1.add_subplot(111)

for i, (stylename, styleclass) in enumerate(styles.items()):
    ax.text(0.5, (float(len(styles)) - 0.5 - i)/figheight, stylename,
              ha="center",
              size=fontsize,
              transform=fig1.transFigure,
              bbox=dict(boxstyle=stylename, fc="w", ec="k"))

# 去掉轴的显示
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['bottom'].set_color('none')
plt.xticks([])
plt.yticks([])

plt.show()

![](data:image/png;base64,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 RK5CYII= )

各个风格的文本框如上图所示。

使用箭头进行注释

In [3]:

plt.figure(1, figsize=(3,3))
ax = plt.subplot(111)

ax.annotate("",
            xy=(0.2, 0.2), xycoords='data',
            xytext=(0.8, 0.8), textcoords='data',
            arrowprops=dict(arrowstyle="->",
                            connectionstyle="arc3"), 
            )

plt.show()

![](data:image/png;base64,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 )

之前介绍了 annotatexy, xycoords, xytext, textcoords 参数的含义,通常我们把 xy 设在 data 坐标系,把 xytext 设在 offset 即以注释点为原点的参考系。

箭头显示是可选的,用 arrowprops 参数来指定,接受一个字典作为参数。

不同类型的绘制箭头方式:

In [4]:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

fig = plt.figure(1, figsize=(8,3))
fig.clf()
from mpl_toolkits.axes_grid.axes_grid import AxesGrid
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText

#from matplotlib.font_manager import FontProperties

def add_at(ax, t, loc=2):
    fp = dict(size=10)
    _at = AnchoredText(t, loc=loc, prop=fp)
    ax.add_artist(_at)
    return _at

grid = AxesGrid(fig, 111, (1, 4), label_mode="1", share_all=True)

grid[0].set_autoscale_on(False)

ax = grid[0]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-", #linestyle="dashed",
                            color="0.5",
                            patchB=None,
                            shrinkB=0,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

add_at(ax, "connect", loc=2)

ax = grid[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-", #linestyle="dashed",
                            color="0.5",
                            patchB=el,
                            shrinkB=0,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

add_at(ax, "clip", loc=2)

ax = grid[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-", #linestyle="dashed",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

add_at(ax, "shrink", loc=2)

ax = grid[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="fancy", #linestyle="dashed",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

add_at(ax, "mutate", loc=2)

grid[0].set_xlim(0, 1)
grid[0].set_ylim(0, 1)
grid[0].axis["bottom"].toggle(ticklabels=False)
grid[0].axis["left"].toggle(ticklabels=False)
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)

plt.draw()
plt.show()

![](data:image/png;base64,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 )

字典中,connectionstyle 参数控制路径的风格:

Name Attr
angle angleA=90,angleB=0,rad=0.0
angle3 angleA=90,angleB=0
arc angleA=0,angleB=0,armA=None,armB=None,rad=0.0
arc3 rad=0.0
bar armA=0.0,armB=0.0,fraction=0.3,angle=None

In [5]:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig = plt.figure(1, figsize=(8,5))
fig.clf()
from mpl_toolkits.axes_grid.axes_grid import AxesGrid
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText

#from matplotlib.font_manager import FontProperties

def add_at(ax, t, loc=2):
    fp = dict(size=8)
    _at = AnchoredText(t, loc=loc, prop=fp)
    ax.add_artist(_at)
    return _at

grid = AxesGrid(fig, 111, (3, 5), label_mode="1", share_all=True)

grid[0].set_autoscale_on(False)

x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

def demo_con_style(ax, connectionstyle, label=None):

    if label is None:
        label = connectionstyle

    x1, y1 = 0.3, 0.2
    x2, y2 = 0.8, 0.6

    ax.plot([x1, x2], [y1, y2], ".")
    ax.annotate("",
                xy=(x1, y1), xycoords='data',
                xytext=(x2, y2), textcoords='data',
                arrowprops=dict(arrowstyle="->", #linestyle="dashed",
                                color="0.5",
                                shrinkA=5, shrinkB=5,
                                patchA=None,
                                patchB=None,
                                connectionstyle=connectionstyle,
                                ),
                )

    add_at(ax, label, loc=2)

column = grid.axes_column[0]

demo_con_style(column[0], "angle3,angleA=90,angleB=0",
               label="angle3,\nangleA=90,\nangleB=0")
demo_con_style(column[1], "angle3,angleA=0,angleB=90",
               label="angle3,\nangleA=0,\nangleB=90")

column = grid.axes_column[1]

demo_con_style(column[0], "arc3,rad=0.")
demo_con_style(column[1], "arc3,rad=0.3")
demo_con_style(column[2], "arc3,rad=-0.3")

column = grid.axes_column[2]

demo_con_style(column[0], "angle,angleA=-90,angleB=180,rad=0",
               label="angle,\nangleA=-90,\nangleB=180,\nrad=0")
demo_con_style(column[1], "angle,angleA=-90,angleB=180,rad=5",
               label="angle,\nangleA=-90,\nangleB=180,\nrad=5")
demo_con_style(column[2], "angle,angleA=-90,angleB=10,rad=5",
               label="angle,\nangleA=-90,\nangleB=10,\nrad=0")

column = grid.axes_column[3]

demo_con_style(column[0], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=0",
               label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=0")
demo_con_style(column[1], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=5",
               label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=5")
demo_con_style(column[2], "arc,angleA=-90,angleB=0,armA=0,armB=40,rad=0",
               label="arc,\nangleA=-90,\nangleB=0,\narmA=0,\narmB=40,\nrad=0")

column = grid.axes_column[4]

demo_con_style(column[0], "bar,fraction=0.3",
               label="bar,\nfraction=0.3")
demo_con_style(column[1], "bar,fraction=-0.3",
               label="bar,\nfraction=-0.3")
demo_con_style(column[2], "bar,angle=180,fraction=-0.2",
               label="bar,\nangle=180,\nfraction=-0.2")

#demo_con_style(column[1], "arc3,rad=0.3")
#demo_con_style(column[2], "arc3,rad=-0.3")

grid[0].set_xlim(0, 1)
grid[0].set_ylim(0, 1)
grid.axes_llc.axis["bottom"].toggle(ticklabels=False)
grid.axes_llc.axis["left"].toggle(ticklabels=False)
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)

plt.draw()
plt.show()

![](data:image/png;base64,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 )

arrowstyle 参数控制小箭头的风格:

Name Attrs
- None
-> head_length=0.4,head_width=0.2
-[ widthB=1.0,lengthB=0.2,angleB=None
¦-¦ widthA=1.0,widthB=1.0
-¦> head_length=0.4,head_width=0.2
<- head_length=0.4,head_width=0.2
<-> head_length=0.4,head_width=0.2
<¦- head_length=0.4,head_width=0.2
<¦-¦> head_length=0.4,head_width=0.2
fancy head_length=0.4,head_width=0.4,tail_width=0.4
simple head_length=0.5,head_width=0.5,tail_width=0.2
wedge tail_width=0.3,shrink_factor=0.5

In [6]:

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

styles = mpatches.ArrowStyle.get_styles()

ncol=2
nrow = (len(styles)+1) // ncol
figheight = (nrow+0.5)
fig1 = plt.figure(1, (4.*ncol/1.5, figheight/1.5))
fontsize = 0.2 * 70

ax = fig1.add_axes([0, 0, 1, 1], frameon=False, aspect=1.)

ax.set_xlim(0, 4*ncol)
ax.set_ylim(0, figheight)

def to_texstring(s):
    s = s.replace("<", r"$<$")
    s = s.replace(">", r"$>$")
    s = s.replace("|", r"$|$")
    return s

for i, (stylename, styleclass) in enumerate(sorted(styles.items())):
    x = 3.2 + (i//nrow)*4
    y = (figheight - 0.7 - i%nrow) # /figheight
    p = mpatches.Circle((x, y), 0.2, fc="w")
    ax.add_patch(p)

    ax.annotate(to_texstring(stylename), (x, y),
                (x-1.2, y),
                #xycoords="figure fraction", textcoords="figure fraction",
                ha="right", va="center",
                size=fontsize,
                arrowprops=dict(arrowstyle=stylename,
                                patchB=p,
                                shrinkA=5,
                                shrinkB=5,
                                fc="w", ec="k",
                                connectionstyle="arc3,rad=-0.05",
                                ),
                bbox=dict(boxstyle="square", fc="w"))

ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)

plt.draw()
plt.show()

![](data:image/png;base64,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 AElFTkSuQmCC )