我有一個數據矩陣,它是自動音樂轉錄程序的輸出。我想用gnuplot來繪製它,分配適當的標籤。 Here's my dropbox with some data,其中Intensity.dat是實際的數據,example.stn是字符串值的列,其中一些是對Y軸和example.all顯示只是paste example.stn Intensity.dat > example.all
腳本的結果:如何抽取/減少gnuplot矩陣中抽動標籤的數量
reset
set title "Intensity detection"
set palette negative grayscale
set cbrange [0.01:1]
set xlabel "Time [s]"
set ylabel "Musical note"
set terminal qt font "Verdana,16"
set logscale cb
xincr=0.04644
yincr=1
plot 'example.all' u (($1+0.5)*xincr):($2*yincr):3 matrix with image
生產 plot produced by script 1。一切都OK,現在只是抽動標籤...
後,我的最後一行更改爲plot 'example.all' u (($1+0.5)*xincr):($2*yincr):3 matrix rowheaders with image
,y軸變得太densly人口(這是從我的Dropbox plot2.jpg,在上面鏈接。對不起你們,我新的,它不允許我發佈超過2個鏈接)。 我想要的只是一種呈現我想要的標籤(或隱藏他人,不管)的方式,而不是一次一個(因爲看起來不可讀)。我還希望能夠在需要時快速將它們更改爲其他人。假設我想顯示每個第12個標籤,但仍然保留整個矩陣,並繪製所有行。或者從第二個標籤開始每12分鐘,從第6個開始每12個。我已經嘗試了很多方法,但我被卡住了。像ytics()或者yticlabels()這樣的函數不能實現,至少對我而言。是的,我需要這個Verdana 16,並且完全去除標籤是沒有問題的。
如果該方法也適用於x軸,我會特別感激,因爲我在其他圖中有與x軸類似的問題,但我通常感謝任何幫助。
首先,感謝您的快速回復,我相信它的解決方案。對於任何尋找x軸標籤的人來說,它是 'condition(n)=(ceil(n)%12-2 == 0)|| (($ 1)* xincr):($ 2 * yincr):3圖像矩陣,\ '示例(ceil(n)%12-6 == 0)' 和繪圖部分 'plot'example.dat'u .stn'u 0:(NaN):xtic(condition($ 0)?strcol(1):「」)notitle' – LDTV