【问题标题】:Set legend text's HorizontalAlignment to left in octave将图例文本的水平对齐设置为八度向左
【发布时间】:2014-07-29 14:11:52
【问题描述】:

我有在 matlab 中表现的图例文本

set(gcf,'DefaulttextHorizontalAlignment','left'); 

现在我正试图以八度音程复制它,但由于某种原因八度音程似乎忽略了上述命令。

我正在使用 cygwin Xwin octave 和 GNUPlot。
(我不想将文本移动到“线”图例的另一侧('left'))

做了一些测试,结果我可以设置属性,但它不影响任何东西。

LegendHandle = legend( phvec, legendvec, 'Location', 'NorthEastOutside' );
legtxt=findobj(LegendHandle,'type','text');
get(legtxt(1),'HorizontalAlignment') %% returns left

【问题讨论】:

  • 我不明白。如果您将默认设置为left,然后get() 向左返回,这是否意味着它不起作用?你能给出一个准确的例子吗,代码 sn-p 与实际值,重现问题和你所期望的?
  • 我无法复制。这个对我有用。您使用的是过时的 Octave 版本吗?
  • 我收回你说的话。如果使用 gnuplot,我可以复制您的问题。我建议您将图形工具包切换到 fltk,这在最近的 Octave 版本中应该已经是默认设置了。

标签: gnuplot octave legend


【解决方案1】:

Gnuplot 似乎支持更改图例水平对齐的选项,但 Octave 不提供在 Gnuplot 中访问此功能的权限(尽管它适用于 FLTK)。除了在Octave tracker 上提交功能请求之外,您根本无能为力。

来源:http://octave.1599824.n4.nabble.com/set-horizontalalignment-for-legend-text-td2218246.html

所以是的,目前没有使用 gnuplot 左对齐图例文本的解决方案,如您所说,删除这个可怕的空白空间的唯一方法是使用 legend('left') 将文本交换到左侧符号。

【讨论】:

    【解决方案2】:

    我可以复制您的问题,但前提是使用 gnuplot。它适用于其他图形工具包。

    虽然 gnuplot 长期以来一直是 Octave 的默认图形工具包,但 Octave 开发人员一直在慢慢将其替换为自己的替代方案,以避免其局限性。我相信最新版本的 Octave 已经默认为 fltk,但您可以自己更改:

    octave-cli-3.8.1> graphics_toolkit fltk
    octave-cli-3.8.1> graphics_toolkit  # confirm
    ans = fltk
    octave-cli-3.8.1> x = 0:0.1:10;
    octave-cli-3.8.1> figure;
    octave-cli-3.8.1> plot (x, [sin(x); cos(x)]);
    octave-cli-3.8.1> legend ("long sin", "cos", "Location", "NorthEastOutside");
    

    【讨论】:

    • 谢谢,虽然我无法使用 fltk,因为我遇到了分段错误(可能与 stackoverflow.com/questions/21955036/… 的问题相同)
    • @SimonHoltz 如果你遇到了段错误,你应该报告它。您刚刚链接到的问题是由错误的显卡驱动程序引起的,并通过重新安装它们来解决。另外,由于您使用的是 Windows,您是否尝试过MXE builds?没有适用于 Windows 的 Octave 官方版本,但如果有的话,它将基于这些版本。
    • @carandraug: 是的,FLTK 的 OpenGL 驱动程序有问题,但是现代集成的 Intel HD Graphics 和一些 AMD Radeon 也受到这个问题的困扰(不仅是旧驱动程序,所以没有什么可以做的在这种情况下的用户)。 Octave 开发团队目前正在对此进行调查:savannah.gnu.org/bugs/?42534
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多