是否有可能在Matplitlib中创建一个轮廓图,每个第n行的颜色与其他颜色不同?我想有这个,因为这个较少的轮廓线显示的细节不够,所有相同的颜色使它太拥挤。例如:
答案 0 :(得分:4)
是的,你可以。您必须为每个级别指定颜色:
levels = np.logspace(0, np.log10(Z.max()), 100 )[30:80]
color_levels = ['r' if (i+5) % 10 == 0 else 'k' for i in range(len(levels))]
pyplot.contour(X, Y, Z, locator=ticker.LogLocator(), colors=color_levels, levels=levels, lw=2, norm=colors.LogNorm(), vmin=1, vmax=Z.max())
此处Z
的{{1}}结果为np.histogram2d()
。底层histogram2d用imshow
绘制。关卡上的[30:80]
切片是为了防止图像中间和边缘混乱。
当然,您可以将% 10
定义中的color_levels
编辑为您喜欢的每个整数。
这导致: