使用Octave,我能够在终端上绘制数组,例如,绘制带有函数值的数组将x^2
在我的终端上显示以下输出:
10000 ++---------+-----------+----------+-----------+---------++
++ + + + + ++
|+ : : : : +|
|++ : : : : ++|
| + : : : : + |
| ++ : : : : ++ |
8000 ++.+..................................................+.++
| ++ : : : : ++ |
| ++ : : : : ++ |
| + : : : : + |
| ++ : : : : ++ |
| + : : : : + |
6000 ++....++..........................................++....++
| ++ : : : : ++ |
| + : : : : + |
| ++ : : : : ++ |
| ++: : : :++ |
4000 ++........++..................................++........++
| + : : + |
| ++ : : ++ |
| :++ : : ++: |
| : ++ : : ++ : |
| : ++ : : ++ : |
2000 ++.............++........................++.............++
| : ++ : : ++ : |
| : +++ : : +++ : |
| : ++ : : ++ : |
| : +++: :+++ : |
+ + ++++ ++++ + +
0 ++---------+-----------+----------+-----------+---------++
0 20000 40000 60000 80000 100000
有什么方法可以在Python中完成类似的操作,特别是使用matplotlib吗?bashplotlib似乎提供了其中一些功能,但与Octave的产品相比似乎是非常基础的。
正如已经给出的几个答案所建议的那样,这gnuplot
是一个不错的选择。
但是,无需调用gnuplot子进程,使用pythongnuplotlib
库可能会容易得多。
示例(来自:https :
//github.com/dkogan/gnuplotlib):
>>> import numpy as np
>>> import gnuplotlib as gp
>>> x = np.linspace(-5,5,100)
>>> gp.plot( x, np.sin(x) )
[ graphical plot pops up showing a simple sinusoid ]
>>> gp.plot( (x, np.sin(x), {'with': 'boxes'}),
... (x, np.cos(x), {'legend': 'cosine'}),
... _with = 'lines',
... terminal = 'dumb 80,40',
... unset = 'grid')
[ ascii plot printed on STDOUT]
1 +-+---------+----------+-----------+-----------+----------+---------+-+
+ +|||+ + + +++++ +++|||+ + +
| |||||+ + + +|||||| cosine +-----+ |
0.8 +-+ |||||| + + ++||||||+ +-+
| ||||||+ + ++||||||||+ |
| ||||||| + ++||||||||| |
| |||||||+ + ||||||||||| |
0.6 +-+ |||||||| + +||||||||||+ +-+
| ||||||||+ | ++||||||||||| |
| ||||||||| + ||||||||||||| |
0.4 +-+ ||||||||| | ++||||||||||||+ +-+
| ||||||||| + +|||||||||||||| |
| |||||||||+ + ||||||||||||||| |
| ||||||||||+ | ++||||||||||||||+ + |
0.2 +-+ ||||||||||| + ||||||||||||||||| + +-+
| ||||||||||| | +||||||||||||||||+ | |
| ||||||||||| + |||||||||||||||||| + |
0 +-+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +-+
| + ||||||||||||||||||+ | ++|||||||||| |
| | +||||||||||||||||| + ||||||||||| |
| + ++|||||||||||||||| | +|||||||||| |
-0.2 +-+ + ||||||||||||||||| + ||||||||||| +-+
| | ++||||||||||||||+ | ++||||||||| |
| + ||||||||||||||| + ++|||||||| |
| | +|||||||||||||| + ||||||||| |
-0.4 +-+ + ++||||||||||||+ | +|||||||| +-+
| + ||||||||||||| + ||||||||| |
| | +|||||||||||+ + ++||||||| |
-0.6 +-+ + ++|||||||||| | +||||||| +-+
| + ||||||||||| + ++|||||| |
| + +|||||||||+ + ||||||| |
| + ++|||||||| + +++||||| |
-0.8 +-+ + + ++||||||+ + + +||||| +-+
| + + +|||||| + + ++|||| |
+ + + ++ ++|||++ + + ++ + + ++||| +
-1 +-+---------+----------+-----------+-----------+----------+---------+-+
-6 -4 -2 0 2 4 6
我在运行OS X Yosemite 10.10.3版本的MacBook Pro上,我在TextMate 2.0-beta.7.4版本中编写代码,所有的heroku和hubot都是最新版本。 在一堂课中,我们必须在计算机上安装Hubot,以便对终端中的代码进行本地测试。一旦代码是好的,然后我们把它推到Heroku并用另一个bot测试它。然后,如果这个bot很好,老师就推到git,我们就可以在slac
我通过自制软件在macOS 10.15中安装了Saxon。现在当我尝试 网旧金山。撒克逊人。使改变 我得到 zsh:找不到命令:net.sf.saxon.变换 我做错了什么? 谢谢,geb
有时,在处理Java stream()时,我发现自己需要一个非终端forEach()来触发副作用,但不终止处理。 我怀疑我可以用类似.map(item->f(item))这样的方法来实现这一点,方法f执行副作用并将项目返回到流中,但这似乎有点假。
1.1.1. 终端 1.1.1. 终端 若琪 IoT Skill 的对接的基本单元为终端,终端可以是一个真实的终端,也可以表示一个智能场景、应用。每一个终端需要说明它们具备的能力接口(Interface),一个能力接口可代表终端的一个可问询状态值,如一个终端具有温度接口(Temperature Interface),我们可以对若琪说:"若琪,现在的温度是多少?",来获取终端提供的温度接口的值;也可
问题内容: 这里的目标是在新的shell中运行新的python文件,并在现有的shell中运行现有的python文件。说我有两个文件,aaa.py和bbb.py。为了简单起见,aaa.py所做的只是… …并且可以说bbb.py确实是… 现在的目标是在终端1中运行aaa.py,并使其在终端2中启动bbb.py。我希望存在类似下面的命令,但无法弄清楚。 问题答案: 通常,无法从shell进行此操作。您
问题内容: 我正在从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web- tokens 进行node.js服务器设置。我是node.js的新手。我正在安装。但是当我用这个运行服务器时。 在显示的终端中: 无法将nodemon识别为内部或外部命令,可操作程序或批处理文件 命令正在运行并启动了服务器,但是命令不起作用