我正在编写一个快速而肮脏的脚本来动态生成绘图.我使用下面的代码(来自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脚本:
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) 我在使用SSH从远程服务器复制文件时遇到问题.使用PuTTY我使用SSH登录服务器.一旦我找到要复制到我的计算机的文件,我就使用命令:
scp username@host.com:/dir/of/file.txt \local\dir\
Run Code Online (Sandbox Code Playgroud)
看起来它很成功,但它最终只会在远程目录中创建一个标记为"localdir"的新文件夹/dir/of/
.
如何通过SSH将文件复制到本地计算机?
我已经开始学习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 脚本,沿水平轴放大和缩小 matplotlib 图形。我的图是一组水平条形图。
我还想让它能够采用任何通用的 matplotlib 图表。
我不想只加载图像并放大该图像,我想沿水平轴放大图表。(我知道该怎么做)
有什么方法可以将创建的图形保存和加载为数据文件,或者是否有一个对象可以稍后保存和加载?
(通常,我会创建图形,然后使用 matplotlib plt.show 显示它,但是图形创建需要时间,而且我不想每次要显示它时都重新创建图形)