相关疑难解决方法(0)

将绘图保存到图像文件,而不是使用Matplotlib显示它

我正在编写一个快速而肮脏的脚本来动态生成绘图.我使用下面的代码(来自Matplotlib文档)作为起点:

from pylab import figure, axes, pie, title, show

# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]

explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})

show()  # Actually, don't show, just save to foo.png
Run Code Online (Sandbox Code Playgroud)

我不想在GUI上显示绘图,相反,我想将绘图保存到文件(例如foo.png),因此,例如,它可以在批处理脚本中使用.我怎么做?

python plot matplotlib

1060
推荐指数
20
解决办法
144万
查看次数

_tkinter.TclError:没有显示名称,也没有$ DISPLAY环境变量

我在服务器中运行一个简单的python脚本:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randn(60)
y = np.random.randn(60)

plt.scatter(x, y, s=20)

out_png = 'path/to/store/out_file.png'
plt.savefig(out_png, dpi=150)
Run Code Online (Sandbox Code Playgroud)

我尝试python example.py在这个安装了matplotlib 1.5.1的服务器中使用该命令失败并显示错误:

Traceback (most recent call last):
  File "example.py", line 7, in <module>
    plt.scatter(x, y, s=20)
  File "/home/USER/.virtualenvs/nnet/lib/python2.7/site-packages/matplotlib/pyplot.py", line 3241, in scatter
    ax = gca()
  File "/home/USER/.virtualenvs/nnet/lib/python2.7/site-packages/matplotlib/pyplot.py", line 928, in gca
    return gcf().gca(**kwargs)
  File "/home/USER/.virtualenvs/nnet/lib/python2.7/site-packages/matplotlib/pyplot.py", line 578, in gcf
    return figure()
  File "/home/USER/.virtualenvs/nnet/lib/python2.7/site-packages/matplotlib/pyplot.py", line 527, in figure
**kwargs)
  File "/home/USER/.virtualenvs/nnet/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 84, in new_figure_manager …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib

163
推荐指数
6
解决办法
19万
查看次数

使用SSH将文件从服务器复制到本地计算机

我在使用SSH从远程服务器复制文件时遇到问题.使用PuTTY我使用SSH登录服务器.一旦我找到要复制到我的计算机的文件,我就使用命令:

scp username@host.com:/dir/of/file.txt \local\dir\
Run Code Online (Sandbox Code Playgroud)

看起来它很成功,但它最终只会在远程目录中创建一个标记为"localdir"的新文件夹/dir/of/.

如何通过SSH将文件复制到本地计算机?

ssh scp

44
推荐指数
4
解决办法
14万
查看次数

使用PyCharm在远程服务器上绘制Python

我已经开始学习Python,到目前为止我的设置一直在关注 - 在Win10 64位本地机器上安装Python 3.5,PyCharm是一个很棒的IDE.一切正常,matplotlib图表和其他视觉输出显示精细,调试工作等.

现在,我遇到了一些仅适用于Linux的库.我在Digital Ocean上安装了Ubuntu 16.4 64bit VPS,安装了Python 3.5.在PyCharm中,我已经设置了与远程主机的SFTP连接.代码运行工作,调试工作,但是,我无法将显示输出(matplotlib绘图,...)带到本地(Win10)机器.由于我对Linux GUI环境(X11?)一点都不熟悉,谷歌搜索后我有以下问题:

1)是否应该在远程Linux机器上安装任何东西?(例如x11 client/server/smth?)

2)是否应该在本地Win机器上安装任何东西?(例如Xming?)

3)是否应该在远程Linx机器上配置任何东西?(例如X11转发)

4)是否应在本地Win机器PyCharm上配置任何内容?

5)Putty中有X11转发设置,有些人建议使用这些设置,但我不确定,如果Putty会话与PyCharm并行运行并且可以避免.

非常感谢!

PS - 我已经在远程机器上安装了Jupyter Notebook(和最新的Jupyter Lab)并且它工作得非常好,但我仍然更喜欢PyCharm作为主要IDE,具有更好的代码完成,调试器和其他额外补贴.

python linux windows x11 matplotlib

9
推荐指数
1
解决办法
3524
查看次数

python matplotlib 将图形保存为数据文件

我想创建一个 python 脚本,沿水平轴放大和缩小 matplotlib 图形。我的图是一组水平条形图。

我还想让它能够采用任何通用的 matplotlib 图表。

我不想只加载图像并放大该图像,我想沿水平轴放大图表。(我知道该怎么做)

有什么方法可以将创建的图形保存和加载为数据文件,或者是否有一个对象可以稍后保存和加载?

(通常,我会创建图形,然后使用 matplotlib plt.show 显示它,但是图形创建需要时间,而且我不想每次要显示它时都重新创建图形)

python matplotlib

4
推荐指数
1
解决办法
9139
查看次数

标签 统计

matplotlib ×4

python ×4

linux ×1

plot ×1

scp ×1

ssh ×1

tkinter ×1

windows ×1

x11 ×1