2009-11-02 51 views
5

我正在尋找一個軟件繪製的科學數據,主要是載體,座標系和圖表,例如:軟件繪製科學數據

Example diagram

+2

你的預算是多少? – teabot 2009-11-02 15:13:45

+0

這屬於超級用戶。 – monksy 2009-12-10 20:54:48

回答

4

這真的屬於超級用戶。但是既然你問到這裏,那麼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

+0

這看起來很酷 - 從來不知道它存在。感謝這篇文章。 – teabot 2009-11-02 15:19:23

1

除了其他選項的建議,你可能想嘗試GNUOctave。你也可以考慮使用GNU Scientific Library和gnuplot接口。

2

Scilab是一個很好的Matlab開源版本,它具有繪圖功能。兩者都建立在向量/矩陣的概念上,並且可以以二維或三維方式進行繪圖

此外,我已經使用過Python/Numpy/Scipy和一些繪圖(如matplotlib)庫,你在圖書館方面有更多的選擇。

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,其中包括座標系的討論。

1

個人而言,我使用矢量圖形應用程序來處理這些事情。如果我不在家(並且我想免費使用某些東西),我使用Inkscape for 2D ..或Google SketchUp for 3D。 CorelDRAW提供了一個尺寸工具和捕捉和修剪選項,如果您想循環訪問數組和/或執行一些計算,則可以使用VBA宏。我不確定Illustrator或其他人,儘管他們也可能有這些。當然,所涉及的數字(如果有的話)不會是完美的..但如果你小心並知道你在做什麼,你可以使你的圖表足夠接近以至於沒有人會注意到。

2

一個優秀的Python庫是matplotlib;它有很好的輸出和處理大多數常見類型的數字圖形。

1

MetaPost的:高品質的圖形

我在自己的論文中使用MetaPostmanual),喜歡它了很多。 這是描述將被處理成圖像的圖形的語言。 如果您知道(和喜歡)TeX/LaTeX:MetaPost可以包含LaTeX格式的標籤和文本。

對於科學數據,這種基於文本的方法通常比圖形用戶界面更有效率。您將不得不學習手冊,但您可以爲圖像節省大量時間:使用GUI,您需要擺弄一些小細節,以便使用基於文本的方法即可正確使用。

JGraph:快速,得到是工作完成

我也使用和喜歡JGraph,另一種基於文本的繪圖程序。學習和使用比MPost更簡單,但仍然創造出非常好的情節。我也爲程序生成的圖形使用jgraph:一個簡單的perl腳本讀取並處理我的輸入數據,將一個簡單的jgraph腳本寫入一個由jgraph處理的圖像。