Q:

GNUplotting bandwidth with two bars per hour

Hi guys, I simply want to plot hourly iperf3 up/down summaries in a graph. I'm thinking hour by hour in a bar chart with one bar being up and another for download speed like this. Spent hours figuring out one bar for sent(up), but not the third received(down). Could a Gnuplot please help me out and please offer any improvements to make it look good? Many thanks!
set term svg size 800,600 fname "Helvetica Neue" fsize 9 rounded dashed
set xdata time
set timefmt "%s"
set format x "%H\n%Y-%m-%d"
# Convert bytes to megabytes
set format y '%.0s%cB'
set style fill solid 0.7 border
plot '-' using 1:2 with boxes
1450848960 285806.25 206760
1450849177 169618.75 149460
1450850400 114761.625 101802.375
1450854001 66813.125 61197.375
1450857600 754362.5 580135
1450861200 21886.375 19150.5
1450864800 69255.875 63496.5
1450868400 60622.625 45791
1450872000 802862.5 628208.75
1450875600 818066.25 630898.75
1450879200 860511.25 646103.75
1450882800 841318.75 605322.5
1450886400 717462.5 609187.5
1450890000 768860 629053.75
1450893600 825708.75 595426.25
1450897200 826900 635977.5
1450900800 747992.5 582123.75
1450904400 747561.25 577085
1450908000 782548.75 542241.25
1450911600 817128.75 632105
1450915200 842408.75 605215
1450918800 808897.5 644612.5
1450922400 737481.25 551455
1450926000 789057.5 612383.75
1450929600 849720 639773.75

If there any better ways of trying to plot up/down bandwidth, please let me know. Here is my script I'm using to produce the above GNUplot commands.

A:

When using the boxes plotting style you must manually arrange the boxes to be beside each other. In the following example I use the gnuplot heredoc (available since version 5) for the inline data, so I can reuse it:
$data <<EOD
1450849177 169618.75 149460
1450850400 114761.625 101802.375
1450854001 66813.125 61197.375
1450857600 754362.5 580135
1450861200 21886.375 19150.5
1450864800 69255.875 63496.5
1450868400 60622.625 45791
1450872000 802862.5 628208.75
1450875600 818066.25 630898.75
1450879200 860511.25 646103.75
1450882800 841318.75 605322.5
1450886400 717462.5 609187.5
1450890000 768860 629053.75
1450893600 825708.75 595426.25
1450897200 826900 635977.5
1450900800 747992.5 582123.75
1450904400 747561.25 577085
1450908000 782548.75 542241.25
1450911600 817128.75 632105
1450915200 842408.75 605215
1450918800 808897.5 644612.5
1450922400 737481.25 551455
1450926000 789057.5 612383.75
1450929600 849720 639773.75
EOD

set term svg size 800,600 fname "Helvetica Neue" fsize 9 rounded dashed
set xdata time
set timefmt '%s'
set style fill solid 0.7 border
set boxwidth 1800 absolute
plot $data using (timecolumn(1) - 1800):2 with boxes title 'up',\
     '' using 1:2 with boxes title 'down'

