Verwendung set format x
;
set terminal pngcairo enhanced color dashed \
rounded size 1200,500
set title "Akamai"
set xlabel "date"
set xdata time
set timefmt "%d-%m-%Y"
set format x "%d/%m\n%Y"
set xtics 86400
set nomxtics
set ylabel "Total Petitions (%)"
set yrange [95:100]
set style data linespoints
set grid
set key right bottom
set output 'user1847844.png'
plot "datos.csv" using 1:2 title "One (%)", \
"" using 1:3 title "Two (%)", \
"" using 1:4 title "Ideal (%)"
Intern gnuplot
wandelt Datetimes auf Sekunden. Die Zeile set xtics 86400
sagt also grundsätzlich, dass man einen Tick pro Tag macht, da ein Tag 24 * 60 * 60 = 86400 Sekunden hat. Die set nomxtics
weist gnuplot an, kleinere Teilstriche auf der x-Achse nicht anzuzeigen.
Dies gibt:
Wenn Sie das Etikett, Gebrauch zu drehen:
set format x "%d/%m/%Y"
set xtics rotate 86400
, dass die Daten in einer einzigen Zeile formatieren soll und die Etiketten um 90 Grad drehen.
Update:
Bitte beachte, dass ich die pngcairo
Terminal bin mit. Dies basiert auf der cairo graphics library. Dies ermöglicht eine konsistente Ausgabe auf allen Ausgabemedien. Aber gnuplot
muss mit cairo-Unterstützung kompiliert werden, damit dies funktioniert.
Im Allgemeinen bevorzuge ich die pdfcairo
Klemme. Dies erzeugt eine PDF-Ausgabe, die ohne Pixelierungseffekte skaliert werden kann.
Update 2:
Um die Konsistenz in meinem Graphen zu erhalten, habe ich bestimmte Arten in meinem gnuplotrc
definiert, die ich in meinem Graphen verwenden. Der Inhalt meines gnuplotrc ist unten gezeigt.
set encoding utf8
# See https://github.com/Gnuplotting/gnuplot-palettes
# Line styles (colorbrewer Set1)
set style line 1 lc rgb '#E41A1C' pt 1 ps 1 lt 1 lw 2 # red
set style line 2 lc rgb '#377EB8' pt 6 ps 1 lt 1 lw 2 # blue
set style line 3 lc rgb '#4DAF4A' pt 2 ps 1 lt 1 lw 2 # green
set style line 4 lc rgb '#984EA3' pt 3 ps 1 lt 1 lw 2 # purple
set style line 5 lc rgb '#FF7F00' pt 4 ps 1 lt 1 lw 2 # orange
set style line 6 lc rgb '#FFFF33' pt 5 ps 1 lt 1 lw 2 # yellow
set style line 7 lc rgb '#A65628' pt 7 ps 1 lt 1 lw 2 # brown
set style line 8 lc rgb '#F781BF' pt 8 ps 1 lt 1 lw 2 # pink
# Palette
set palette maxcolors 8
set palette defined (0 '#E41A1C', 1 '#377EB8', 2 '#4DAF4A', 3 '#984EA3',\
4 '#FF7F00', 5 '#FFFF33', 6 '#A65628', 7 '#F781BF')
# Standard border
set style line 11 lc rgb '#808080' lt 1 lw 3
set border 0 back ls 11
set tics out nomirror
# Standard grid
set style line 12 lc rgb '#808080' lt 0 lw 1
set grid back ls 12
unset grid
Und ich verwende ein pdfcairo
Terminal als Standard, so.
set terminal pdfcairo enhanced color dashed font "Alegreya, 14" \
rounded size 16 cm, 9.6 cm
Die verwendete Schriftart ist ein Beispiel. Für Grafiken in Berichten verwende ich die gleiche Schriftart wie der Fließtext.
Der Befehl plot
verwendet die definierten Stile.
plot "user1847844.d" using 1:2 ls 1 title "One (%)", \
"" using 1:3 ls 2 title "Two (%)", \
"" using 1:4 ls 3 title "Ideal (%)"
Dies ergibt eine Figur, die so aussieht.
Hinweis: Da Stackoverflow akzeptiert keine PDF-Bilder, ich konvertiert es in eine PNG ImageMagick.
convert -density 300 <input.pdf> -quality 100 -sharpen 0x1.0 <output.png>