2014-04-04 167 views
2

我有以下數據:gnuplot的X標籤位置

t_4 24 3 0 0 
t_6 37 4 0 0 
t_8 51 4 2 0 

t_4 15 1 0 0 
t_6 21 0 0 1 
t_8 30 0 0 1 

t_4 13 2 1 0 
t_6 20 3 1 0 
t_8 22 4 1 0 

,我儘量讓類似這樣http://www.bmsc.washington.edu/people/merritt/gnuplot/stack+cluster.dem的直方圖,這個修改的代碼版本:

set style data histogram 
set style histogram rowstacked 
set style fill solid 
set boxwidth 0.5 
set key invert samplen 0.2 
set key samplen 0.2 
set bmargin 3 
set offset 0,2,0,0 

set title "number of multiple resonances" 

plot newhistogram "1:j" lt 1, \ 
    'stack+cluster.dat' index 0 u 2:xtic(1) title "one", \ 
    '' index 0 u 3 title "two", \ 
    '' index 0 u 4 title "three", \ 
    '' index 0 u 5 title "four" 

    newhistogram "2:j" lt 1, \ 
    'stack+cluster.dat' index 1 u 2:xtic(1) notitle, \ 
    '' index 1 u 3 notitle, \ 
    '' index 1 u 4 notitle, \ 
    '' index 1 u 5 notitle 

     newhistogram "3:j" lt 1, \ 
    'stack+cluster.dat' index 1 u 2:xtic(1) notitle, \ 
    '' index 1 u 3 notitle, \ 
    '' index 1 u 4 notitle, \ 
    '' index 1 u 5 notitle 

但這是輸出,我發現enter image description here

正如你所看到的問題是在x標籤名稱newhistogram "1:j""2:j""3:j":我只能看到「1:j」並與「t_4 ...」重疊。

有人可以幫我嗎?

回答

4

該腳本給出錯誤!所有命令都必須屬於單個plot命令。就像你一樣,腳本在第二個newhistogram之前終止。

接下來的事情是,你需要用空白行,以便與index參數來解決這些問題(此看到屬於你提到的例子中的數據文件http://www.bmsc.washington.edu/people/merritt/gnuplot/stack+cluster.dat也評論分開兩個街區關於)。

通過這些修正你會得到下面的腳本(還要注意title offset):

set style data histogram 
set style histogram rowstacked title offset 0,-1 
set style fill solid 
set boxwidth 0.5 
set key invert samplen 0.2 
set key samplen 0.2 
set bmargin 3 
set offset 0,2,0,0 

set title "number of multiple resonances" 

plot newhistogram "1:j" lt 1, \ 
    'stack+cluster.dat' index 0 u 2:xtic(1) title "one", \ 
    '' index 0 u 3 title "two", \ 
    '' index 0 u 4 title "three", \ 
    '' index 0 u 5 title "four",\ 
    newhistogram "2:j" lt 1, \ 
    'stack+cluster.dat' index 1 u 2:xtic(1) notitle, \ 
    '' index 1 u 3 notitle, \ 
    '' index 1 u 4 notitle, \ 
    '' index 1 u 5 notitle,\ 
     newhistogram "3:j" lt 1, \ 
    'stack+cluster.dat' index 1 u 2:xtic(1) notitle, \ 
    '' index 2 u 3 notitle, \ 
    '' index 2 u 4 notitle, \ 
    '' index 2 u 5 notitle 

與結果(與4.6.5):

enter image description here

-2
#cat subset1.csv 
"subset1","close","43","20" 
"subset1","open","53","40" 
"subset1","partial","44","28" 

#cat subset2.csv 
"subset2","close","24","31", 
"subset2","open","47","35", 
"subset2","partial","44","28", 

gnuplot的

set datafile separator "," 
set style data histogram 
set style histogram rowstack gap 1 
set style fill solid border -1 
set boxwidth 0.5 relative 

set xtics rotate by 45 offset -0.8,-4.3 
set xlabel offset 0, -2 
set bmargin 8 

plot \ 
newhistogram "subset1" lt 1,\  
'subset1.csv' using 3:xticlabels(2) title "internal" linecolor rgb  "gray",\ 
'subset1.csv' using 4:xticlabels(2) title "external" linecolor rgb "white",\ 
newhistogram "subset2" lt 1,\ 
'subset2.csv' using 3:xticlabels(2) title "" linecolor rgb "gray",\ 
'subset2.csv' using 4:xticlabels(2) title "" linecolor rgb "white" 


#The bellow command is the same as the above but in one line one to avoid (\n) problems 
# plot newhistogram "subset1" lt 1, 'subset1.csv' using 3:xticlabels(2)  title "internal" linecolor rgb "gray", 'subset1.csv' using 4:xticlabels(2) title "external" linecolor rgb "white", newhistogram "subset2" lt 1, 'subset2.csv' using 3:xticlabels(2) title "" linecolor rgb "gray", 'subset2.csv' using 4:xticlabels(2) title "" linecolor rgb "white" 

gnuplot output http://oi61.tinypic.com/nyxoh.jpg