我再也不能接受Matplotlib的“旁作图”的一般方法了。

还有其他选择吗?

我正在寻找哲学上更紧密的东西到Mathematica的Plot函数,该函数返回一个独立的Graphics对象。该对象封装了渲染相应图像所需的所有信息。没有“当前图形”或“当前轴”的概念。

(我正在寻找可以在python代码中轻松使用的东西。)

评论

欢迎使用软件建议!您需要什么确切功能?请检查“如何要求某些软件的替代品”,以改进您的问题,增加获得正确答案和匹配答案的可能性:)

@Izzy:坦率地说,我希望能够从Python绘制我可以从Mathematica绘制的任何东西。我知道这不会在我的一生中发生,因此我正在寻找最接近于这种乌托邦理想的近似方法。 (“为什么不仅仅使用Mathematica?”因为我在一个大多数人最多只了解Python的小组中工作。)

感谢您的更新,kjo-但这应该是问题本身的一部分。记住,您可以随时编辑您的帖子:)(我对Mathematica并不熟悉-但是,如果“我可以从Mathematica中绘制的内容”不是不解自明的,您可能还需要详细说明)

请注意,虽然副作用绘制是使用Matplotlib的主要广告方式,但这不是强制性的。有关面向对象的绘图的介绍,请参见。

#1 楼

您可能希望查看一些替代方法:




plot.ly这可以做一些非常不错的事情,并且可能更像您想要的样式,它现在可以脱机使用,并且可以执行一些技巧,例如将Java嵌入到网页中以提供可滚动,缩放等的图形-对于python,R&Matlab,它是免费的,开源的并且不是Excel的自托管。 br />
bokeh-再次成为漂亮的图形-可以在R,Scala和Julia以及python中使用。

ggplot-引用作者的观点:“ ggplot牺牲了高度定制化的特性,有利于generall
[New] [Cartify] 4提供了数量更多的图表,但目的是使生活变得更加简单(并且更加面向对象)。
最喜欢的旧matplotlib-功能非常强大,但不一定最容易使用,并且您会发现许多示例都是基于当前当前图形/轴的pyplot MATLAB样式概念-但是,它也提供了OO接口,例如您可以在这里找到这些文件,因此可以简单地以这种方式使用它。

这里有一些不错的概述,介绍了一些使用起来不太麻烦的可视化工具。

我未尝试的其他人的评论




Altair-Altair是用于Python的声明性统计可视化库。 (ostrokach)


plotnine plotnine是基于ggplot2的Python图形语法的实现。 (hatshepsut)



评论


由于适用于Python的matplotlib库中的错误而着陆于此。 Plot.ly和ggplot都依赖于matplotlib。 Bokeh不需要,因此对于任何需要解决matplotlib中的错误的人来说,这是一种替代方法。

– Twitch
16年2月16日在16:42

将Altair添加到列表中。

–ostrokach
16年2月2日在22:01

Plotnine是python中最好的ggplot实现。

–Hatshepsut
18年7月18日在21:48



plot.ly只允许一个私人地块,不是吗?不知道我是否要公开共享每个情节。寻找其他互动情节替代品。

–爱德华多·里斯(Eduardo Reis)
18-10-18在14:32



@EduardoReis-如果您离线使用plot.ly,那么所有地块都是私人的,实际上,除非您手动将它们发布到某个地方,否则它们甚至都不在线。

–史蒂夫·巴恩斯(Steve Barnes)
18-10-19在18:55

#2 楼

我正在开发先进的PyQt应用程序,因此不使用Mathplotlib的主要原因是您无法创建以60fps更新的3D和2D实时复杂图形!

所以我使用:使用OpenGL的Python GUI库:)


PyQtGraph是基于PyQt4 / PySide和numpy构建的纯Python图形和GUI库。它旨在用于数学/科学/工程应用。尽管完全用python编写,但由于numpy用于数字运算和Qt的GraphicsView框架可用于快速显示,因此该库非常快。 PyQtGraph是根据MIT开源许可证发行的。


网页上的一些示例和我自己的示例:





评论


@ user11879,pyQtGraph是当前版本吗?文档似乎在2011年前后使用PyQt4,而不是5?

– alancalvitti
19-09-27在19:44