首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在彩色栏中添加轮廓图中的某些行

在彩色栏中添加轮廓图中的某些行
EN

Stack Overflow用户
提问于 2015-03-25 09:52:34
回答 1查看 286关注 0票数 0

我的问题here的后续问题。我每10行创建一次红色的等高线,但现在我想在彩色栏中有这些线条。我知道你可以通过以下方式把这些行添加到colobar中:

代码语言:javascript
复制
CS2 = pyplot.contour(X,Y,Z,locator=ticker.LogLocator(), colors=color_levels, levels=levels, lw=2,norm=colors.LogNorm(),vmin=1,vmax =Z.max())
cbar.add_lines(CS2)

(我不认为需要在这里指定所有变量,只是将来自contour函数的结果添加到cbar thingy中。

然而,这将导致添加所有的轮廓线到色条,但我只是想要红色的。切割它们不起作用:

代码语言:javascript
复制
>>> CS2=CS2[5::10]
AttributeError: QuadContourSet instance has no attribute '__getitem__'

是否可以只向色条添加某些线条?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-25 11:07:34

我自己想出来的,但不是用最能想象的方式。我创建了两个不同的轮廓图,一个是黑色的,另一个是红线。只有红色的给色条。它很有效,但我认为它可以更好一些。守则的有关部分如下:

代码语言:javascript
复制
levels = np.logspace(0,np.log10(Z.max()), 100 )[30:80]
levels_black = [level for i,level in enumerate(levels) if (i+5) % 10 != 0]
levels_red =  [level for i,level in enumerate(levels) if (i+5) % 10 == 0]

CS2_black = pyplot.contour(X,Y,Z,locator=ticker.LogLocator(), colors='k', levels=levels_black, lw=2,norm=colors.LogNorm(),vmin=1,vmax =Z.max())
CS2_red = pyplot.contour(X,Y,Z,locator=ticker.LogLocator(), colors='r', levels=levels_red, lw=2,norm=colors.LogNorm(),vmin=1,vmax =Z.max())

cbar.add_lines(CS2_red)

这将产生如下图像,完全符合我的要求:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29252361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档