突出单一轮廓线

时间:2013-01-10 17:42:31

标签: numpy python-2.7 matplotlib

我正在制作一个简单的等高线图,我希望通过使其变粗并改变颜色来突出显示零线。

cs = ax1.contour(x,y,obscc)
ax1.clabel(cs,inline=1,fontsize=8,fmt='%3.1f')

我如何实现这一目标? 谢谢: - )

1 个答案:

答案 0 :(得分:5)

HTH - 这基本上是取自matplotlib docs的轮廓示例,只是修改后的水平线

contour - 方法返回的对象包含对其collections属性中轮廓线的引用。 轮廓线只是常见的LineCollections。

在下面的代码片段中,对等值线图的引用位于CS(问题中为cs):

CS.collections[0].set_linewidth(4)           # the dark blue line
CS.collections[2].set_linewidth(5)           # the cyan line, zero level
CS.collections[2].set_linestyle('dashed')
CS.collections[3].set_linewidth(7)           # the red line
CS.collections[3].set_color('red')
CS.collections[3].set_linestyle('dotted')

type(CS.collections[0])
# matplotlib.collections.LineCollection

如果您没有明确指定它们,请参考以下有关级别的信息:

CS.levels
array([-1. , -0.5,  0. ,  0.5,  1. ,  1.5])

还有很多功能可以格式化单个标签:

CS.labelCValueList    CS.labelIndiceList    CS.labelTextsList
CS.labelCValues       CS.labelLevelList     CS.labelXYs
CS.labelFmt           CS.labelManual        CS.labels
CS.labelFontProps     CS.labelMappable      CS.layers
CS.labelFontSizeList  CS.labelTexts