回首看看我們以前所有的作圖,橫座標都標示在底部,而縱座標都標示在左側。其實,在影象頂部和右側,還隱藏著一對不太引人注意的座標軸,我們可以管它們叫做「第二座標軸」。平時,它們只是第一對座標軸的映象;在我們需要的時候,它們可以用來表示不同的物理量。有時候,我們會有兩組性質不同但是又相互關聯的資料,這時候我們或許想把他們畫在同一副圖上,以便比較。
還拿北京市月平均降水量舉例,但是這次,我們把溫度也加上。下面是我們的資料檔案 weather_beijing.dat:
### 檔案開始 ###
# 北京月平均降水量(公釐)及氣溫(攝氏度)
## 月份 降水量 氣溫
# ***************====
1 2.5 -4
2 5.1 -2
3 10.2 6
4 25.4 13
5 27.9 20
6 71.1 24
7 175.3 26
8 182.9 25
9 48.3 20
10 17.8 13
11 5.1 5
12 2.5 -2
### 檔案結束 ###
我們之前講過的所有有關座標的引數,在第二座標軸上均適用,只不過相應的名字起始字母改為 x2 或者 y2,例如 ylabel 改為 y2label。另外,plot 命令有乙個新的引數 axis,用來控制使用哪個座標軸,例如 axis x1y2 就表示使用第一橫軸和第二縱軸。現在我們來看用上面資料作圖的例子:
gnuplot> set xlabel "月份"
gnuplot> set ylabel "降水量(公釐)"
gnuplot> set y2label "氣溫(攝氏度)"
gnuplot> set title "北京市月平均降水量及氣溫"
gnuplot> set xrange [0.5:12.5]
gnuplot> set xtics 1,1,12
gnuplot> plot "weather_beijing.dat" u 1:2 w lp pt 5 lc rgbcolor "#2b60de" axis x1y1 t "降水量", "weather_beijing.dat" u 1:3 w lp pt 7 lc rgbcolor "#f62817" axis x1y2 t "氣溫"
這裡的氣溫資料使用了影象右邊的第二縱軸
y2,但是 y2 軸上的刻度並沒有變化,依然是左邊
y1 軸的映象。我們在這裡有兩件事要做:
去除右邊縱軸上的 y1 刻度映象,否則這些刻度標記將和新的 y2 刻度標記混起來,導致無法識別;
在右邊縱軸上加上 y2 刻度標記。
我們執行下面的命令:
好了,現在降水量和溫度資料分別對應於左側和右側的縱座標。
看到這裡,我們可能有點懷念我們上一講談到的
grid。如果能加上柵格,資料圖示就更清楚了。但是現在我們有兩組不同的縱座標,如果都開啟柵格,還不亂套了?
set grid 命令允許我們在開啟柵格時,選擇使用哪一組座標。例如:
gnuplot> set grid xtics y2tics
會開啟
x1 和
y2 的柵格。但是這還是不能兼顧兩組資料。最好的解決方案是,讓兩個縱軸有相同數目的分格,這樣兩套
grid 也就重合了,開啟任何乙個就可以了。例如,上面的圖中左側縱軸有 10 個分格,我們讓右側縱軸也有 10 個分格:
現在看起來好多了。
最後,不知道大家注意到沒有,在開始的
plot 命令裡,我們用了新的方式定義圖線顏色。在
第七講「點線風格」裡,我們提到過,可以用預定義的數字**來定義圖線顏色。但是在這裡,我們使用了
rgbcolor 來定義顏色,這很大程度上增加了顏色選擇範圍,允許更好的顯示效果。而其用法也很簡單,就是在
rgbcolor 之後,加上顏色的 rgb **,了解 html 的朋友應該對這個不陌生。
談談gnuplot(五) 座標取值範圍及刻度
gnuplot set samples 500 gnuplot set xlabel x gnuplot set ylabel y gnuplot set title sin 5 x 函式影象 這裡預設的 x 取值範圍是從 10 到 10。我們現在希望 x 的取值範圍從 2 到 2 這樣函式影象可以...
自學《SLAM十四講》 第二講
1.c 中的類和物件的理解 就好比人類和個人?不知道可不可以這麼理解。2.stl standard template library 就是標準模板庫,是一些 容器 的集合 3.linux的目錄結構 其實就是新的c 的標準,用著用著就熟悉了 5.cmake cmake是乙個跨平台的安裝 編譯 工具,可...
(4)第二章習題
書籍 c primer plus 第6版 1 編寫乙個c 程式,它顯示您的姓名和位址。include using std cout using std endl int main 2 編寫乙個c 程式,它要求使用者輸入乙個以long為單位的距離,然後將它轉換為碼 一long 等於220碼 inclu...