我正在寻找一个命令行工具(用于Linux)来生成一个数据文件的情节。 起初,我试图玩gnuplot,但它的曲线拟合能力不是那么好。
然后我尝试了R,但我找不到一种方法来写一个向量(符号上的小箭头)或热平均值(LaTeX中的\ left \ langle \ right \ rangle)。
我在那里find了一些隐藏的插件,无法完成任务?
这是你可以做的一个方法。 输入文件应该用一列或多列数据格式化。 如果有两列或更多列,则第一列用作X,Y图中的X.
#! /usr/bin/env python import sys import matplotlib.pyplot as pyplot for filename in sys.argv[1:]: with open(filename,'rt') as sf: table = [] for line in sf: table.append( [float(val) for val in line.split()] ) table = [ row for row in table if len(row) ] ## remove empty rows if len(table[0]) == 1 : pyplot.plot( [y[0] for y in table ] ) for x in xrange(1,len(table[0])): pyplot.plot( [ y[0] for y in table ], [ y[x] for y in table ] ) pyplot.show()
有一组命令行工具(mgl2png,mgl2eps,mgl2svg,…)用绘图产生图片。 但他们使用自己的脚本语言MGL(相当简单和快速)。 它是GPL库MathGL的一部分。
有没有一个命令行工具
我解释这意味着你想直接从Linux(例如Bash)命令行创建图,而不用其他语言创建脚本。
看来答案是:不是,除了一个例外: xplot
像大多数x*
实用程序一样,这有一个非常现代的用户界面。 但它可以从简单的命令行(如xplot a.txt b.txt
生成图。
和xplot一样,你也有ctioga2
: http : ctioga2
。 绘制文本数据文件就像
ctioga2 data.dat
其中生成一个Plot-000.pdf
PDF文件。 但是,它不适合数据。
你尝试过PGF / TikZ吗? 它可能需要一段时间才能适应,但它具有一流的LaTeX集成(毕竟它是LaTeX的一个库),并且在这个网站上有大量的例子。
在找出语法之后,您可以编写一个简单的脚本,以合适的格式转换所需的所有数据。
看看GNUPLOT的基础文章。 它会告诉你如何使用PGF / TikZ调用Gnuplot,然后从外部文件加载结果。
我对你的评价非常惊讶,gnuplot不擅长曲线拟合。 根据我的经验,gnuplot对这类工作没有任何的作用。 但是我的经验肯定是有限的,所以你可能会更好的了解。
无论如何,我发现这一点,虽然它可能有所帮助: http : //www.cs.hmc.edu/~vrable/gnuplot/using-gnuplot.html它有一个曲线拟合部分。
检查SciPy或八度 。