使用matplotlib

时间:2018-05-04 10:36:01

标签: python matplotlib

我想用matplotlib(补丁)绘制圆圈,并注释它们。注释将是一个单词,它需要位于圆的中心。

到目前为止,我可以绘制一个圆圈并注释它: enter image description here

但是注释不是水平或垂直居中的。为此,我需要访问文本的维度。

有没有办法访问"坐标系"中的文本尺寸? ?。例如,如果圆的半径为15(15个东西,而不是像素),则文本的长度为12个(不是像素)。

我对如何做到这一点有任何其他建议。

到目前为止,这是我的代码:

import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

fig, ax = plt.subplots()

ax = fig.add_subplot(111)

x = 0
y = 0

circle = plt.Circle((x, y), radius=1)

ax.add_patch(circle)

label = ax.annotate("cpicpi", xy=(x, y), fontsize=30)

ax.axis('off')
ax.set_aspect('equal')
ax.autoscale_view()

plt.show()

2 个答案:

答案 0 :(得分:3)

您需要使用MongoDBax.annotate中设置水平对齐方式。如果需要,可以使用参数ha="center"

对垂直方向进行相同的操作
va="center"

enter image description here

答案 1 :(得分:0)

您可以在annotate()电话中添加两个额外的参数:

label = ax.annotate("cpicpi", xy=(x, y), fontsize=30,
           verticalalignment='center', horizontalalignment='center')