【问题标题】:Density plots from matlab to matplotlib从 matlab 到 matplotlib 的密度图
【发布时间】:2013-09-17 02:00:27
【问题描述】:

从几年前开始,我使用 matlab 绘制绘图(主要是密度图),但现在我想改用 matplotlib。我在试图弄清楚如何在 matplotlib 中获得类似图时遇到问题。我必须代表一个二维数组。在 matlab 中我曾经使用 surf 函数,然后更改为 view(2)(az=0 和 el=90)。一个例子:

surf(X,Y,log10(z),'FaceColor','interp','EdgeColor','none')
view(2)

在matplotlib中我尝试了一些功能,但我没有同样的感觉。 m3plot 是一个计算成本很高的工具包,它与使用 surf 不同。 imshow 不允许在他的参数中使用日志函数(如示例),并且日志值对我来说是强制性的。然后是 pcolor,但我找不到类似“FaceColor”的选项来平滑边缘。我想知道是否有人知道matplotlib中最好的等价物。 感谢您的宝贵时间!

【问题讨论】:

标签: python matlab matplotlib plot density-plot


【解决方案1】:

尝试安装具有surf 功能的mayavi(mayavi 是一个成熟的使用硬件加速的 3D 可视化库)

【讨论】:

  • 最后我决定使用 pcolormesh() (对于大型数组,它似乎比 pcolor 快得多,我不知道为什么)。此外,shading=gouraud 选项效果很好。
  • @AlexNoir 很高兴你解决了你的问题。请将您的解决方案添加到答案中,以便其他用户获利!
【解决方案2】:

最后,适合我的解决方案是使用例程pcolormesh()。这与选项shading='gouraud' 相结合,对数据进行插值并平滑边缘。此外,与 pcolor 相比,它适用于大型数组。

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 2016-08-25
    • 1970-01-01
    • 2019-07-07
    • 2013-07-31
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多