使用个性化标签标记轮廓水平

时间:2018-05-28 13:05:31

标签: python matplotlib

我想在密度图中标注轮廓水平,并使用个性化标签。我写过像

这样的东西
contours = plt.contour(X, Y, Z, 3, colors='black')
plt.clabel(contours, inline=True, levels=[1,2], fontsize=8)

plt.imshow(Z, extent=[0, 5, 0, 5], origin='lower',
       cmap='RdGy', alpha=0.5)
plt.colorbar();

我希望轮廓标有r'\textbf{1-}'+r'$\sigma$'

之类的名称

1 个答案:

答案 0 :(得分:1)

contour_label_demo的第二个示例中直接显示了您要求的内容。 我将在这里引用这个例子:

##################################################
# Label contours with arbitrary strings using a
# dictionary
##################################################
plt.figure()

# Basic contour plot
CS = plt.contour(X, Y, Z)

fmt = {}
strs = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh']
for l, s in zip(CS.levels, strs):
    fmt[l] = s

# Label every other level using strings
plt.clabel(CS, CS.levels[::2], inline=True, fmt=fmt, fontsize=10)