绘制科学数据的软件

时间:2009-11-02 15:11:17

标签: vector drawing

我正在寻找一种用于绘制科学数据的软件,主要是矢量,坐标系和图表,例如:

Example diagram

9 个答案:

答案 0 :(得分:6)

您是否看过:MathematicaMatlabMaximaGNUPlot

答案 1 :(得分:5)

R has excellent charting available,虽然它要求你学习一些语法(在我看来非常值得付出努力)。

可以使用arrows()函数来执行此操作。以下是如何使用该功能的简单示例:

x <- stats::runif(12); y <- stats::rnorm(12)
i <- order(x,y); x <- x[i]; y <- y[i]
plot(x,y, main="arrows(.) and segments(.)")
## draw arrows from point to point :
s <- seq(length(x)-1)
arrows(x[s], y[s], x[s+1], y[s+1], col= 1:3)

更一般地说,read "Drawing Diagrams with R" from the recent R Journal article,其中包括对坐标系的讨论。

答案 2 :(得分:4)

这真的属于SuperUser。但既然你问过这里,PGF/TikZ怎么样?

非常简单example

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[scale=1.5]
    % Draw axes
    \draw [<->,thick] (0,2) node (yaxis) [above] {$y$}
        |- (3,0) node (xaxis) [right] {$x$};
    % Draw two intersecting lines
    \draw (0,0) coordinate (a_1) -- (2,1.8) coordinate (a_2);
    \draw (0,1.5) coordinate (b_1) -- (2.5,0) coordinate (b_2);
    % Calculate the intersection of the lines a_1 -- a_2 and b_1 -- b_2
    % and store the coordinate in c.
    \coordinate (c) at (intersection of a_1--a_2 and b_1--b_2);
    % Draw lines indicating intersection with y and x axis. Here we use
    % the perpendicular coordinate system
    \draw[dashed] (yaxis |- c) node[left] {$y'$}
        -| (xaxis -| c) node[below] {$x'$};
    % Draw a dot to indicate intersection point
    \fill[red] (c) circle (2pt);
\end{tikzpicture}
\end{document}

结果:

tikz picture http://media.texample.net/tikz/examples/PNG/intersecting-lines.png

答案 3 :(得分:2)

Scilab是Matlab的一个很好的开源版本,它具有绘图功能。两者都建立在矢量/矩阵的概念之上,可以在2D或3D中绘图

另外,我在过去使用Python / Numpy / Scipy和一些绘图(如matplotlib)库,这为你提供了更多的库选项。

答案 4 :(得分:2)

优秀的Python库matplotlib;它具有很棒的输出并处理大多数常见类型的数字图形。

答案 5 :(得分:1)

除了建议的其他选项,您可能还想尝试GNUOctave。您还可以考虑使用GNU Scientific Library并与gnuplot接口。

答案 6 :(得分:1)

就个人而言,我使用矢量图形应用程序来做这些事情。如果我不在家(我想使用免费的东西),我使用Inkscape for 2D ..或Google SketchUp for 3D。 CorelDRAW有一个尺寸工具和捕捉和修剪选项,如果你想循环一个数组和/或做一些计算,它可以提供帮助,并支持VBA宏。我不确定Illustrator或其他人,尽管他们也可能有这些。当然所涉及的数字(如果有的话)并不完美......但如果你小心并且知道你在做什么,你可以使你的图表足够接近,没有人会注意到。

答案 7 :(得分:1)

MetaPost:高质量图表

我在自己的论文中使用MetaPostmanual)并且非常喜欢它。 它是描述将被处理成图像的图形的语言。 如果您知道(并且喜欢)TeX / LaTeX:MetaPost可以包含用LaTeX格式化的标签和文本。

对于科学数据,这种基于文本的方法通常比图形用户界面更有效。您将不得不学习手册,但是您可以节省大量的图像时间:使用GUI,您需要摆弄一些细节,使用基于文本的方法可以获得一次。

JGraph:快点,完成工作

我也使用和JGraph一样,这是另一种基于文本的绘图程序。它比MPost更容易学习和使用,但仍然创造了非常好的情节。我还对程序生成的图形使用jgraph:一个简单的perl脚本读取并处理我的输入数据,将一个简单的jgraph脚本写入图像处理。

答案 8 :(得分:0)

在Mac上有OmniGraphSketcher,其优点是不需要数字来制作教学图表。