alignment - gnuplot - 不同长度的水平键标题的对齐

标签 alignment gnuplot

水平放置时,我很难对齐不同的关键标题,这显然是由于标题的长度不同。

有两个短情节标题(第 1 个和第 4 个)和两个较长的标题(第 2 个和第 3 个),它在最后两个标题之间留下了更大的差距(大概是因为它通过相同的最大字符串长度设置了它们之间的差距)。我已经搜索过,但发现没有办法改变这一点。

下面显示了一个简化的示例。任何建议或帮助将不胜感激。

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12
set output 'example.eps'

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20"

set key inside bottom center horizontal font "Helvetica, 20" width 1.8

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20"  
set lmargin screen 0.10
set rmargin screen 0.95
set yrange [-1.5:1.5]

plot sin(x) title 'short', \
cos(x) title 'long title 1', \
-0.5 title 'long title 2', \
0.5 title 'short' w l ls 4

结果是:
enter image description here

最佳答案

一种可能的解决方法是在 multiplot 中使用两个不同的绘图命令生成前三个图形和最后一个图形。模式:

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12
set output 'example.eps'

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20"

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20"  
set lmargin screen 0.10
set rmargin screen 0.95
set yrange [-1.5:1.5]

set bmargin screen 0.15
set tmargin screen 0.9

set multiplot
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.4, graph 0.1 center maxrows 1
plot sin(x) title 'short', \
     cos(x) title 'long title 1', \
     -0.5 title 'long title 2'

unset title
unset xlabel
unset ylabel
unset border
unset tics
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.84, graph 0.1 center maxrows 1
plot 0.5 title 'short' w l ls 4
unset multiplot

但是,这需要一些调整:
  • 第二个之前plot您必须删除标题、标签、抽动和边框,否则图形可能会因不同的抗锯齿而看起来锯齿状
  • 要获得相同的边距,您还必须设置固定 tmarginbmargin
  • 您必须手动放置 key

  • 上面的代码给你:
    enter image description here

    现在你必须判断它是否值得。

    关于alignment - gnuplot - 不同长度的水平键标题的对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18380408/

    相关文章:

    c++ - 如何使用 Qt Creator 的设计器水平对齐小部件

    c++ - 如何显示 256x256 的网格?

    c++ - C++ 代码中的 Gnuplot - 图形无法显示

    html - Firefox 中的对齐问题

    gnuplot - 如何完全重置 gnuplot?

    gnuplot - 在现有绘图上添加一个点

    plot - Gnuplot 在绘制缩放数据 ("x range is invalid"时会出现奇怪的错误)

    x86 - IA32 机器 x86 上的对齐

    html - 如何修复桌面和移动设备上不一致的占位符文本垂直对齐方式?

    css - 无法将此 div 置于 div 中