我正在编写一个带有轴(y "%“和x "date")的图形,当少于7条记录显示不好时
这些是文件
data.csv:
20-04-2016 96.8 95.8 100
21-04-2016 97.07 97.99 100
22-04-2016 98.05 99.5 100
23-04-2016 98.64 97.88 100
24-04-2016 98.96 98.99 100
25-04-2016 98.68 98.11 100图表
reset
set terminal png size 1200,500
#set xlabel "Time (days)"
set xdata time
set timefmt "%d-%m-%Y"
set ylabel "Total Petitions (%)"
set yrange [95:100]
set title "Akamai"
set key reverse Left outside
set grid
set style data linespoints
plot "datos.csv" using 1:2 title "One (%)", \
"" using 1:3 title "Two (%)", \
"" using 1:4 title "Ideal (%)"他给我看了这个

如图所示,日期是重复的,并且我希望每条记录显示一个日期。
我也喜欢把日期
%d-%m\n%Y如果我放入7个或更多的记录,这个问题就解决了
如果我把完整的日期和轴x的描述

它可以垂直显示日期吗?
非常感谢您的帮助
发布于 2016-04-30 18:37:01
使用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将日期时间转换为秒。所以行set xtics 86400基本上是说每天做一次滴答,因为一天有24*60*60 = 86400秒。set nomxtics告诉gnuplot不要在x轴上显示小刻度线。
这提供了:

如果要旋转标签,请使用:
set format x "%d/%m/%Y"
set xtics rotate 86400这应该将日期格式化为单行,并将标签旋转90度。
更新:
请注意,我使用的是pngcairo终端。这是基于cairo graphics library的。这是为了在所有输出介质上提供一致的输出。但是gnuplot必须在cairo的支持下编译才能工作。
一般来说,我更喜欢pdfcairo终端。这会产生PDF输出,可以缩放而不会产生像素化效果。
更新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图像,所以我使用ImageMagick将其转换为PNG。
convert -density 300 <input.pdf> -quality 100 -sharpen 0x1.0 <output.png>https://stackoverflow.com/questions/36953679
复制相似问题