gnuplot x label position in histogram

匿名 (未验证) 提交于 2019-12-03 02:33:02

问题:

i have the following data:

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 

and i try to make an histogram similar to this http://www.bmsc.washington.edu/people/merritt/gnuplot/stack+cluster.dem , with this modify version of the code:

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 

but this is the output i found

As you can see the problem is in the x labels names newhistogram "1:j" , "2:j" and "3:j" : i can see only "1:j" and overlapped with the "t_4...".

Can someone help me, please?

回答1:

That script gives an error! All commands must belong to a single plot commands. As you have it, the script terminates before the second newhistogram.

The next thing is, that you need to separate two blocks with two blank lines in order to address them with the index parameter (for this see also the comments in the data file http://www.bmsc.washington.edu/people/merritt/gnuplot/stack+cluster.dat which belongs to the example you talked about).

With these corrections you get the following script (note also the 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 

with the result (with 4.6.5):



回答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



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!