Gnuplot xticlabels带有多行

Gnuplot xticlabels带有多行,plot,gnuplot,Plot,Gnuplot,如果我添加一个使用3行的xticlabel,则在第二行的中间添加gnuplot cuts。 有没有办法让xticlabels有几行 这是我的数据文件: "[17h30,19h00] 25" 1 "[03h30,10h00] 21" 1 "[03h00,12h00] 26" 2 "[18h00,19h30] 27" 3 "[20h30,22h00] 25" 4 "[13h00,14h30] 25" 4 "[19h30,21h30] 25" 5 "[14h30,16h00] 25" 5 "[16h3

如果我添加一个使用3行的xticlabel,则在第二行的中间添加gnuplot cuts。 有没有办法让xticlabels有几行

这是我的数据文件:

"[17h30,19h00] 25" 1
"[03h30,10h00] 21" 1
"[03h00,12h00] 26" 2
"[18h00,19h30] 27" 3
"[20h30,22h00] 25" 4
"[13h00,14h30] 25" 4
"[19h30,21h30] 25" 5
"[14h30,16h00] 25" 5
"[16h30,18h00] 25" 5
"[09h30,15h00] 25" 9
这是我的gnuplot代码:

set terminal postscript eps color
set output '| epstopdf --filter --outfile=hist.pdf'
set auto x
set yrange [0:10]
set style histogram clustered
set boxwidth 0.95 relative
set style fill transparent solid 0.5 noborder
plot 'hist.dat' using 2:xticlabels(1) with boxes lc rgb'blue90' notitle
最后,这是生成的图形:

潜在问题1:xtics重叠 您有几个选项可以帮助修复xtic问题

1) 旋转XTIC 这将设置xtics以从左上到右下的角度打印

2) 更改字体大小 您可以使字体大小变小,但无法阅读

3) 在图形的条之间添加间隙 4) 更改数据文件 如果可以控制数据文件,可以尝试在xtic标签中插入一些换行符,例如

"17h30\n19h00\n25" 1
潜在问题2:XTIC通常过长
从你的问题来看,我不太确定,但你可能会遇到。Gnuplot对标签中的字符数有一个内置限制,在较旧版本的Gnuplot中设置为50,最近设置为200。我链接到的帖子包括一个变通方法,即编译一个版本的gnuplot,增加了
MAX\u ID\u LEN
常量。

我也有类似的问题,但在我的例子中,标签取自两列(一列字符串(1)和一列数字(2)),而y数据位于第三列

我使用换行符“\n”将标签一分为二

基本上,在xticlabels()中,您可以给出任何字符串表达式,例如 我还需要使用一些数值格式,而不是使用以下表达式的stringcolumn(2):

gprintf('%1.0t*10^{%S}',column(2))

希望有帮助

我不认为这是主要原因。我的每个XTICLabel少于50个字符。事实上每一个都有17个字符。我没有从您的数据文件中看到XTIC是如何走三条线的。我想了解你的问题是什么。XTIC似乎确实被切断了,这是主要问题吗?如果是这样,最好在打印前修改数据文件。确定,请参阅我的编辑。旁白:您的eps终端设置了一个不寻常的输出——您没有可用的
pdf
pdfcairo
终端吗?在这种情况下,您不必使用外部程序将eps转换为pdf。要查看可用的终端,请在gnuplot命令行上运行
print GPVAL_terminals
。在您的情况下,您可以发出
set terminal pdf
set terminal pdfcairo
,然后
set output'myoutput.pdf'
,而不是像当前那样设置eps终端。
set style histogram gap 4
"17h30\n19h00\n25" 1
using 2:3:xticlabels(stringcolumn(1) . "\n\n" . stringcolumn(2)) 
gprintf('%1.0t*10^{%S}',column(2))