2024-10-02 14:27:50 发布
网友
我想用一个尖尖的三角形盒子在我的情节的左上角加上注解,盒子里有一个字母,如下图所示。我只能做一个正方形的盒子,但我想要一个三角形的盒子
plt.annotate("A", xy = (0.05, 0.92), xycoords = "axes fraction", bbox = dict(boxstyle = "square", fc = "red"))
从here可以绘制任意形状
这并不完全是你想要的,但可能会让你过得去
import numpy as np import matplotlib.pyplot as plt import matplotlib.path as mpath import matplotlib.patches as mpatches from matplotlib.collections import PatchCollection def label(xy, text): y = xy[1] - 0.15 # shift y-value for label so that it's below the artist plt.text(xy[0], y, text, ha="center", family='sans-serif', size=14) fig, ax = plt.subplots() patches = [] # add a path patch Path = mpath.Path path_data = [ (Path.MOVETO, [0.00, 0.00]), (Path.LINETO, [0.0, 1.0]), (Path.LINETO, [1.0, 1.0]), (Path.CLOSEPOLY, [0.0, 1.0]) ] codes, verts = zip(*path_data) path = mpath.Path(verts, codes) patch = mpatches.PathPatch(path) patches.append(patch) colors = np.linspace(0, 1, len(patches)) collection = PatchCollection(patches, alpha=0.3) collection.set_array(np.array(colors)) ax.add_collection(collection) plt.subplots_adjust(left=0, right=1, bottom=0, top=1) plt.axis('equal') plt.axis('off') plt.show()
从here可以绘制任意形状
这并不完全是你想要的,但可能会让你过得去
相关问题 更多 >
编程相关推荐