0.98.4版本新的炫酷特性
创建精美的盒子和箭头样式。
import matplotlib.patches as mpatchimport matplotlib.pyplot as pltfigheight = 8fig = plt.figure(1, figsize=(9, figheight), dpi=80)fontsize = 0.4 * fig.dpidef make_boxstyles(ax):styles = mpatch.BoxStyle.get_styles()for i, (stylename, styleclass) in enumerate(sorted(styles.items())):ax.text(0.5, (float(len(styles)) - 0.5 - i)/len(styles), stylename,ha="center",size=fontsize,transform=ax.transAxes,bbox=dict(boxstyle=stylename, fc="w", ec="k"))def make_arrowstyles(ax):styles = mpatch.ArrowStyle.get_styles()ax.set_xlim(0, 4)ax.set_ylim(0, figheight)for i, (stylename, styleclass) in enumerate(sorted(styles.items())):y = (float(len(styles)) -0.25 - i) # /figheightp = mpatch.Circle((3.2, y), 0.2, fc="w")ax.add_patch(p)ax.annotate(stylename, (3.2, y),(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)ax1 = fig.add_subplot(121, frameon=False, xticks=[], yticks=[])make_boxstyles(ax1)ax2 = fig.add_subplot(122, frameon=False, xticks=[], yticks=[])make_arrowstyles(ax2)plt.show()

参考
此示例中显示了以下函数,方法,类和模块的使用:
import matplotlibmatplotlib.patchesmatplotlib.patches.BoxStylematplotlib.patches.BoxStyle.get_stylesmatplotlib.patches.ArrowStylematplotlib.patches.ArrowStyle.get_stylesmatplotlib.axes.Axes.textmatplotlib.axes.Axes.annotate
