前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优秀开源推荐 | 数据可视化利器psyplot

优秀开源推荐 | 数据可视化利器psyplot

作者头像
郭好奇同学
发布2020-11-25 12:26:47
1.1K0
发布2020-11-25 12:26:47
举报
文章被收录于专栏:好奇心Log好奇心Log

快速灵活的可视化工具

在这里,我们介绍一个开源的Python项目,它主要结合matplotlib的绘图实用程序和xarray包的数据管理,并将它们集成到一个可以通过命令行和GUI使用的软件中。

主要目的是要有一个框架,能够快速、吸引人、灵活、易于应用、易于重现,尤其是能够以交互的方式可视化您的数据。

最终目标是通过提供一种灵活的可视化工具来帮助科学家进行日常工作,该工具可以通过他们自己的可视化脚本进行增强。可以通过命令行以及通过psyplot-guipsy-view模块的图形用户界面(GUI)来使用psyplot

如果你想要了解更多:看看关于psyplot的部分。

这个包非常新,有许多功能将在未来包括在内。所以我们非常高兴能得到反馈!请直接在GitHub上提出问题。

为什么选择psyplot

在数据可视化的时候,人们总是要选择。

要么用直观的图形用户界面(GUI)(如panoply)来创建绘图,但自定义选项较少,且难以编写脚本。

或从命令行创建绘图,例如通过NCL、R或python,有更多的自定义和脚本的可能性,但也不太直观。

psyplot希望将这两个世界结合起来:创建一个文档齐全、易于访问的框架,从GUI和命令行(当然也可以通过脚本)实现数据的可视化。

目前还没有类似的东西存在。当然,你也可以通过内置的python shell来使用Paraview这样的软件。但是,如果你真的想探索你的数据,在这样的软件中使用numpy、scipy等数字函数来访问和探索数据是完全不直接的。

因此,我开发了这个模块化的框架,它可以通过简短而全面的命令有效地创建和定制图,可以通过GUI访问(见子项目),在这里你总是有一个全面的API来访问你的数据。

与通常使用matplotlib不同的是,这个软件是建立在不重复的原则上的,它最终的结果是大部分时间都是复制粘贴部分代码。每一个构成可视化的小部分,无论是数据评估的一部分,还是绘图的外观,psyplot都会把它放到一个格式选项中,在需要的时候可以重复使用。

尽管如此,它又是一个新的软件。因此,如果你想使用它,肯定需要一点时间来适应这个框架。我向你保证,这是值得的。所以开始吧,如果你有不同的意见,请告诉我。

它是什么,它不是什么?

注: 首先,它是开源的! 所以,如果你不同意下面的观点,请编辑这个文档,然后点击提出文件更改和创建拉动请求。然后我们可以讨论你的修改。

周围有大量的软件工具用于可视化,那么psyplot有什么特别之处呢?下面的列表应该希望能为你提供一些指导。

它是什么?

  • 它的速度很快。不一定是最快的交互式可视化软件,但肯定是开发时间最快的软件,因为它在命令行上对用户非常友好。没有其他软件包能提供简单直观的可视化,如psy.plot.mapplot('my-netcdf-file.nc', lonlatbox='德国').同时还提供了一个非常灵活的选项来调整可视化。没有任何图形用户界面,独立于它的直观性,能比懂一点编码和如何使用psyplot中不同格式选项的科学家的速度更快。
  • 它可以可视化非结构化的网格,如ICON或UGRID模型数据。
  • 它能自动解码CF协议
  • 它直观地集成了netCDF文件的结构。所以如果你经常使用netCDF文件,psyplot可能是一个不错的选择。
  • 它是pythonic的。如果你正在使用python,psyplot是值得一试的,我们总是热衷于帮助新用户入门。
  • 它非常灵活(我想我们已经说过这一点了),从命令行到GUI。
    • 我们可以实现大量新的可视化和数据分析技术,你也可以实现自己的技术。
    • 它们会在GUI中自动实现。
    • 用户可以使用xarray, numpy, scipy等软件进行统计和数值计算,然后在同一个脚本中使用psyplot可视化方法。
    • 它的模块化框架允许处理新的科学问题,并在单独的psyplot插件中用它自己的格式选项和绘图方法处理这些问题。
  • 在GPL许可下,它将永远是免费和开源的。

它不是什么?

没有哪个软件能做到面面俱到,psyplot也不能。我们的主要关注点是灵活性、简单的命令行使用和GUI集成,这不可避免地带来了一些缺点。

  • 它不是最快的,因为我们使用matplotlib来灵活地进行可视化,而且这是在CPU上运行,而不是在GPU上运行。但是如果matplotlib或者R、NCL等标准的可视化工具已经足够你使用,你可以选择psyplot。
  • 但它并不是交互式网络应用的最佳选择。虽然用psyplot和龙卷风或Flask来建立一个后台服务器会很简单,但由于matplotlib提供的选项,它仅限于发送栅格图像数据。
  • psyplot(尤其是psy-view)是用动态解释的python语言编写的(允许GUI和命令行的结合,灵活性很高)。但我们永远无法超越(编译但不太灵活的)ncview软件的速度。
  • psyplot是一个命令行优先的软件,也就是说,我们把最大的精力放在了尽可能简化命令行和脚本的使用上。GUI是在上面的东西,受限于matplotlib的速度和功能(尽管如此,matplotlib的功能还是相当丰富)。但我们正在不断地改进GUI,比如psy-view。
  • 它不是为统计可视化而生的。psy-reg与其他软件工具相比,唯一的优势是可以在psyplot框架内外使用matplotlib艺术家的全部能力来调整一切。
  • 它并不是操作shapefiles的最佳软件,尽管将来可能会有一些支持。

关于作者

我,(Philipp Sommer),在德国赫尔姆霍兹海岸数据中心(HCDC)的材料和海岸研究中心(HZG)担任数据科学家。如果你想了解更多,请访问我的主页:philipp-s-sommer.de。

许可证

psyplot是以GNU通用公共许可证V2.0发布的。

以上中文内容由DeepL提供翻译支持


......

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好奇心Log 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速灵活的可视化工具
  • 为什么选择psyplot?
  • 它是什么,它不是什么?
    • 它是什么?
      • 它不是什么?
      • 关于作者
      • 许可证
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档