繁体   English   中英

在轮廓线图上绘制点

[英]Plotting points on a contourf plot

在回答了前面的问题( 在此处 )之后,我现在想在每个重要的网格值上绘制一个点。 在我这样做的那一刻

ax.contourf(x, y, z)
for i in x:
    for j in y:
        if significant[i, j]==True: ax.plot(i, j, 'bo')

这显然很糟糕,因为它非常慢。 有一些简单(快速)的解决方案来解决这个问题吗? 请注意,x和y的长度不同,我需要x的长度可变。

您只能在有效为真的情况下执行循环:

for i, j in zip(*np.where(significant)):
     ax.plot(i, j, 'bo')

或者,如果x和y不是类似范围的:

for i, j in zip(*np.where(significant)):
     ax.plot(x[i], y[j], 'bo')

np.where将返回一个包含两个元素的元组,即非零元素的第一个索引和第二个索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM