gnuplot how to change x tics

Help
Tiz
2013-06-04
2013-06-19
  • Tiz

    Tiz - 2013-06-04

    I aa using the following table in order to produce a stacked histogramm

    "Time"  1   2   3   4   5   6
    1100    0   0   0.166667    0   0.166667    0
    1200    0   0.166667    0   0.166667    0   3.508772
    1300    0   0.500000    0   0.666667    0.333333    2.631579
    1400    0.500000    1.333333    0.833333    0.666667    1.333333    1.754386
    1500    0.666667    3.000000    0.333333    1.666667    2.500000    0.877193
    1600    2.833333    4.000000    1.166667    3.333333    4.166667    1.754386
    1700    4.000000    2.666667    3.000000    3.166667    2.833333    3.508772
    1800    3.500000    2.500000    1.833333    2.500000    2.000000    0
    1900    2.833333    0.833333    1.666667    1.666667    0.666667    0
    2000    1.500000    0.833333    2.500000    1.166667    1.500000    0
    2100    0.333333    0.333333    1.666667    0.666667    0.666667    0
    2200    0.166667    0.333333    1.333333    0.666667    0.333333    0
    2300    0.166667    0.166667    0.666667    0.166667    0   0
    2400    0.166667    0   0.500000    0.166667    0.166667    0
    2500    0   0   0.666667    0   0   0
    2600    0   0   0.166667    0   0   0.877193
    2700    0   0   0.166667    0   0   0
    2800    0   0   0   0   0   0
    2900    0   0   0   0   0   0
    3000    0   0   0   0   0   0
    3100    0   0   0   0   0   0
    3200    0   0   0   0   0   0.877193
    3300    0   0   0   0   0   0
    3400    0   0   0   0   0   0
    3500    0   0   0   0   0   0
    3600    0   0   0   0   0   0
    3700    0   0   0   0   0   0
    3800    0   0   0   0   0   0
    3900    0   0   0   0   0   0
    4000    0   0   0   0   0   0
    4100    0   0   0   0   0   0
    4200    0   0   0   0   0   0
    4300    0   0   0   0   0   0
    4400    0   0   0   0   0   0
    4500    0   0   0   0   0   0
    4600    0   0   0   0   0   0
    4700    0   0   0   0   0   0
    4800    0   0   0   0   0   0
    4900    0   0   0   0   0   0
    5000    0   0   0   0   0   0
    5100    0   0   0   0   0   0
    5200    0   0   0   0   0   0
    5300    0   0   0   0   0   0
    5400    0   0   0   0   0   0
    5500    0   0   0   0   0   0
    5600    0   0   0   0   0   0
    5700    0   0   0   0   0   0
    5800    0   0   0   0   0   0
    5900    0   0   0   0   0   0
    6000    0   0   0   0   0   0
    6100    0   0   0   0   0   0
    6200    0   0   0   0   0   0
    6300    0   0   0   0   0   0
    6400    0   0   0   0   0   0
    6500    0   0   0   0   0   0
    6600    0   0   0   0   0   0
    6700    0   0   0   0   0   0.877193
    

    here is the code I am using

    set terminal png
    set style fill   solid 1.00 border lt -1
    set output "histcum.png"
    set datafile missing "-"
    set key below box vertical
    set boxwidth 0.75 absolute
    set key outside right top vertical Left reverse noenhanced autotitles columnhead nobox
    set key invert samplen 4 spacing 1 width 0 height 0 
    set style histogram rowstacked title  offset character 0, 0, 0
    set style data histograms
    set xtics border in scale 0,0 nomirror rotate by -45  offset character 0, 0, 0 norangelimit font ",8"
    set title "My plot" 
    set yrange [ 0.00000 : 20 ] noreverse nowriteback
    set xlabel "X label"
    set ylabel "Y Label"
    i = 8
    plot "histcum.txt" using 2:xticlabels(1), for [i=3:7] '' using i 
    

    here is the result

    as you can see the xscale is unreadable... any idea on how to print only one out of 10 for instance?

     
    Last edit: Tiz 2013-06-04
    • Tiz

      Tiz - 2013-06-19

      case closed.

      data histograms cannot be used for such a plot in fact.

       
  • Bastian Märkisch

    as you can see the xscale is unreadable... any idea on how to print only one out of 10 for instance?

    Printing every fifth label only would be rather easy in your case. Try

    plot ... using 2:xticlabels(((int($1) % 500) == 100) ? stringcolumn(1) : "") ...
    
     

Log in to post a comment.