linux怎么进入绘图模式,Linux 绘图工具
Linux 繪圖工具
2016-11-03 Thursday
主要介紹一下 Linux 中的 Gnuplot Graphviz 套件,主要用于畫(huà)圖。
Ggnuplot 是一個(gè)命令行驅(qū)動(dòng)的繪圖工具,可將數(shù)學(xué)函數(shù)或數(shù)值資料以平面圖或立體圖的形式畫(huà)在不同種類(lèi)終端機(jī)或繪圖輸出裝置上,是由 Colin Kelley 和 Thomas Williams 于 1986 年開(kāi)發(fā)的繪圖程序發(fā)展而來(lái)的,可以在多個(gè)平臺(tái)下使用。
graphviz 是貝爾實(shí)驗(yàn)室開(kāi)發(fā)的一個(gè)開(kāi)源的工具包,它使用一個(gè)特定的 DSL(領(lǐng)域特定語(yǔ)言) dot 作為腳本語(yǔ)言,然后使用布局引擎來(lái)解析此腳本,并完成自動(dòng)布局。該軟件包提供豐富的導(dǎo)出格式,如常用的圖片格式,SVG、PDF 格式等。
在此介紹一下常見(jiàn)的使用方法。
Graphviz
graphviz 的設(shè)計(jì)初衷是對(duì)有向圖/無(wú)向圖等進(jìn)行自動(dòng)布局,開(kāi)發(fā)人員使用 dot 腳本定義圖形元素,然后選擇算法進(jìn)行布局,最終導(dǎo)出結(jié)果。
該軟件中包含了眾多的布局器:
dot 默認(rèn)布局方式,主要用于有向圖
neato 基于spring-model(又稱(chēng)force-based)算法
twopi 徑向布局
circo 圓環(huán)布局
fdp 用于無(wú)向圖
默認(rèn) CentOS 是安裝了 dot 以及 graphviz,可以直接使用。
DOT
dot 可以用來(lái)表示有向圖 (->) 以及無(wú)向圖 (–),每個(gè)節(jié)點(diǎn)使用不同的屬性,例如顏色、形狀、線(xiàn)形等。最簡(jiǎn)單的示例如下。
$ cat foobar.dot # 查看文件
digraph G {
hello -> world;
}
$ dot -Tpng foobar.dot -o foobar.png # 生成png
$ eog foobar.png # 預(yù)覽一下
graphviz 使用三種對(duì)象 node、edge、graph 來(lái)描述一個(gè)圖,一個(gè)節(jié)點(diǎn)的 shape 定義了頂點(diǎn)的形狀,代表類(lèi)型有這么幾種:1) 多邊形類(lèi)型;2) 純文本類(lèi)型; 3) 基于記錄類(lèi)型。
Gunplot
現(xiàn)在有很多的科學(xué)作圖軟件,如 Windows 平臺(tái)上的 Origin、Tecplot、SigmaPlot 等,*NIX 平臺(tái)上的 LabPlot、gnuplot 等,其它的計(jì)算軟件如 Matlab、Mathematica、Maple、Scilab、IDL、Maxima 等對(duì)科學(xué)作圖也有很好的支持。
而 gnuplot 是典型的 UNIX 哲學(xué)的產(chǎn)物,小巧、靈活、擅長(zhǎng)與其他工具協(xié)同;既支持命令行交互模式,也支持腳本。
如下兩個(gè)就是通過(guò) gnuplot 繪制的圖片。
在 CentOS 中,可以直接通過(guò) yum install gnuplot 安裝即可。
gnuplot> plot sin(x) # 繪制sin(x)曲線(xiàn)
gnuplot> set xrange [-pi:pi] # 設(shè)置X的取值范圍
gnuplot> replot cos(x) with points pointtype 2 # 用點(diǎn)圖重繪
----- 效果同上
gnuplot> plot [-pi:pi] sin(x), cos(x) with points pointtype 2
常見(jiàn)示例
設(shè)置輸出
包括了輸出文件的格式,輸出的步驟。
set terminal wxt # 輸出到電腦屏幕
set terminal postscript eps color solid linewidth 2 font "Helvetica,20" # 輸出為eps格式
set terminal pdfcairo linewidth 2 font "Times New Roman,8"
set terminal pngcairo linewidth 2 font "AR PL UKai CN, 14"
set output "hello.eps"
set title 'Hello World Gnuplot'
plot [-pi:pi] sin(x), cos(x) with points pointtype 2
set output # 標(biāo)示輸出結(jié)束
eps 為 LaTeX 的常用圖片格式,支持高質(zhì)量的矢量圖形,并且可以方便轉(zhuǎn)換為 pdf、svg 等其它常用格式。如上是將輸出設(shè)置為有色、采用實(shí)線(xiàn)、設(shè)置為 2 倍線(xiàn)寬、且字體采用 “Helvetica” 20 號(hào)字體。
另外,對(duì)于字體常用的還有 Times-Roman、Arial、Courier (等寬字體)、Symbol (希臘字母)。
命名圖和坐標(biāo)軸
set key top left # 設(shè)置圖標(biāo)
set key box # 圖標(biāo)外添加一個(gè)框
set title 'Hello World Gnuplot'
set xlabel 'Angle, in degrees'
set ylabel 'sin(angle)'
set xrange [-pi:pi] # 設(shè)置X軸的取之范圍,并設(shè)置角度顯示
set xtics ('0' 0, '90' pi/2, '-90' -pi/2, '45' pi/4,'-45' -pi/4,'135' 3*pi/4,'-135' -3*pi/4)
set grid # 顯示網(wǎng)格
plot sin(x)
多條曲線(xiàn)
with 子句可以詳細(xì)而精確地指定線(xiàn)的樣式。
plot sin(x) with linespoints pointtype 5, cos(x) w boxes lt 4
with/w 指定繪制線(xiàn)的格式
linespoints 在每個(gè)數(shù)據(jù)點(diǎn)處標(biāo)記一個(gè)點(diǎn)
boxes 適合繪制直方圖數(shù)據(jù)
pointtype/pt 點(diǎn)類(lèi)型為5
linetype/lt 繪制采用第4種線(xiàn)
參考
如果喜歡這里的文章,而且又不差錢(qián)的話(huà),歡迎打賞個(gè)早餐 ^_^
支付寶打賞
微信打賞
總結(jié)
以上是生活随笔為你收集整理的linux怎么进入绘图模式,Linux 绘图工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 编程找出四位整数abcd 中满足下述关系
- 下一篇: 【正点原子MP157连载】第一章 Ubu