MATPLOTLIB可以在Python以外的语言中使用吗?



我想知道是否可以从Python以外的语言中使用MATPLOTLIB。

场景:

  1. 我可以有一个Windows .NET可执行文件来接受用户输入
  2. 做一些冗长的计算。
  3. 然后调用 MATPLOTLIB 以显示结果

我正在与GNUPLOT进行比较,GNUPLOT是一个独立的可执行文件,您可以通过命令行向该可执行文件发出命令,从而使这种情况成为可能。

谢谢。

不是直接的。 但是,就像你可以调用 gnuplot 作为系统调用一样,你也可以调用 python 来运行脚本。 而且,就像你可以即时创建一个 gnuplot 脚本,然后通过 gnuplot 运行它一样,你也可以动态生成一个 Python 脚本并通过 python 运行它。

调用python的程序运行脚本将更难实现真正的交互性。 Gnuplot 与管道一起工作,因此可以更好地与调用程序交互。 我不知道这是否可能。 您可以设置一个"python服务"并使用一些进程间通信(例如XML-RPC或SOAP(在python进程和调用程序之间发送数据。 这可以工作(我已经完成了,虽然不是来自 .NET(,但需要一些设置工作。 Matplotlib能够使用GUI事件循环,但不能使用正常的"pyplot"接口,其中pyplot.show()倾向于阻塞I/O。

在许多情况下,还可以在应用程序中嵌入Python解释器。 可悲的是,对于.NET/CLR,人们会想要使用IronPython,据我所知,它不适用于matplotlib。

除非有其他语言的特定包(例如 Julia 有"pyplot"包(或者有办法从另一种语言调用 python。

您可以将 python 脚本编译为可执行文件。这可以完成,例如使用pyinstaller.python代码可能是相当通用的,并允许将参数传递给它,然后用于使用matplotlib绘制某些内容。
这样做的缺点是可执行文件会相当大,因为它需要包含 matplotlib 及其所有依赖项。

最新更新