【问题标题】:Remote interpreter and local plot in PyCharm?PyCharm 中的远程解释器和本地绘图?
【发布时间】:2021-11-23 02:45:31
【问题描述】:

我正在使用带有远程解释器的 PyCharm。我的代码是 showing a scatter figure 使用 matplotlib。我可以正常看到图并进行交互(缩放和旋转),但是交互太慢了。我认为这是因为它是通过 SSH X-server 完成的。

我的问题是如何以图形方式手动使图形交互(使用鼠标,如缩放、平移、旋转......)执行得更快?我认为这应该是通过允许图形交互发生在本地机器(运行 PyCharm 的机器)上,而不是远程服务器上。

一种解决方法是保存.fig 文件,然后将其复制到我的本地计算机,然后加载它。但我不喜欢这种解决方法。

【问题讨论】:

  • 我认为这个想法没有考虑到执行交互的代码必须在服务器上运行。
  • 为什么需要在远程服务器上运行可视化?是数据生成太慢还是数据量大还是其他原因?
  • 负责“以图形方式使用鼠标与图形交互”的代码是in the backends,即它必然是在服务器上运行的代码的一部分。
  • 我的想法是,可以使用sshfs 之类的东西将远程服务器的数据目录挂载为本地文件夹,然后在本地运行脚本。根据您处理的数据文件的大小,这很可能会减慢图形的生成速度,但会使图形更具响应性。稍加规划,就可以编写一个脚本,首先生成预处理数据并保存,这样该过程就不需要重复了。这完全取决于你想要做什么......
  • 嗯,主要问题是如果您在远程服务器上运行脚本,GUI 的响应时间会受到数据连接的限制。所以如果你真的想这样做我猜唯一的答案是提高连接速度,这与matplotlib无关。

标签: python matplotlib ssh pycharm xserver


【解决方案1】:

在单独的窗口上与可视化交互很慢,不仅在 PyCharm 上,而且在您指定要单独加载可视化的任何 IDE 上。这是因为它们被加载到 tkinter 或任何可用模块(如 Qt5)上,如果您使用的是 Mac,您还可以使用内置的 OSX 渲染。特别是如果您的数据集很大,那么交互会变慢。看起来 Python 中的可视化并没有像您在 Tableau 甚至 Orange/Glue 上看到的那样优化。

这就是为什么我个人更喜欢通过 IPython 控制台内联可视化数据(为此我使用 Spyder)。虽然你不能与情节互动,但目的就足够了。

【讨论】:

    猜你喜欢
    • 2019-04-02
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2013-09-07
    • 2015-02-12
    • 2016-09-06
    • 2019-03-18
    相关资源
    最近更新 更多