использования 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 (%)"
Внутри gnuplot
преобразует DateTimes до нескольких секунд. Таким образом, строка set xtics 86400
в основном говорит, чтобы сделать один тик в день, так как один день имеет 24 * 60 * 60 = 86400 секунд. set nomxtics
сообщает gnuplot, чтобы не показывать мелкие отметки на оси x.
Это дает:
Если вы хотите повернуть метку, используйте:
set format x "%d/%m/%Y"
set xtics rotate 86400
Это должно форматировать даты, как в одной строке и повернуть метки на 90 градусов.
Update:
Обратите внимание, что я использую pngcairo
терминал. Это основано на cairo graphics library. Это предназначено для обеспечения согласованного вывода на всех выходных носителях. Но gnuplot
должен быть скомпилирован с поддержкой cairo для этого.
В целом, я предпочитаю терминал pdfcairo
. Это создает PDF-файл, который можно масштабировать без эффекта пикселизации.
Update 2:
Чтобы получить последовательность в моих графиках, я определил некоторые стили в моем gnuplotrc
, которые я использую в моих графиках. Содержимое моего gnuplotrc показано ниже.
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
В качестве стандарта я использую терминал pdfcairo
, например.
set terminal pdfcairo enhanced color dashed font "Alegreya, 14" \
rounded size 16 cm, 9.6 cm
Используемый шрифт является примером. Для графиков в отчетах я обычно использую тот же шрифт, что и основной текст.
Команда plot
использует определенные стили.
plot "user1847844.d" using 1:2 ls 1 title "One (%)", \
"" using 1:3 ls 2 title "Two (%)", \
"" using 1:4 ls 3 title "Ideal (%)"
Это производит фигуру, похожую на это.
Примечание: Поскольку StackOverflow не принимает PDF изображения, я преобразовал его в PNG с помощью ImageMagick.
convert -density 300 <input.pdf> -quality 100 -sharpen 0x1.0 <output.png>