3

我正在尝试在 Octave 中的情节中为图例块添加标题(像这样)。我已经深入研究了绘图上可用的属性并找到了“标题”属性,但是当我设置它时,绘图上没有任何变化。

这是我正在尝试的示例:

a=linspace(0, 2*pi())
h=plot(sin(a))  
hleg = legend("Data 1")
set(hleg, 'title', 'Data Series')

我也试过这个:

hlegtitle = get(hleg, 'title') 
get(hlegtitle, 'string')

返回Data Series,所以我清楚地设置了属性,但标题没有出现在图例上。

是否需要在某处设置其他内容 - 是在屏幕外绘制标题栏,还是存在布尔值或导致隐藏的其他内容我已经将各种属性hlegtitle与其他组件的属性进行了比较情节,它们看起来都一样。

有什么我遗漏的东西,或者这是不可能的吗?

4

1 回答 1

3

graphics_toolkit("qt")您的代码在默认 使用的当前开发版本下运行良好。当前开发版本,graphics_toolkit(

使用相同的开发版本,但是graphics_toolkit("gnuplot"),缺少图例标题: 当前开发版本,graphics_toolkit(

它不仅仅是“屏幕外”,因为降低gca高度不会显示标题。

仍然可以“手动”设置标题,使用text

graphics_toolkit("gnuplot")
a = linspace(0, 2 * pi, 101);
h = plot(a, sin(a));
hleg = legend("Data 1")

set(hleg, "title", "Data Series")
# This is changing the gca "position"
legend("location", "northeastoutside")

# Now tweak the gca height, to provide room above the legend
gca_pos = get(gca, "position");
gca_pos(4) *= 0.9;
# The plot width has to be tweaked by hand,
# because the legend position is not reliable
gca_pos(3) = 0.66;
set(gca, "position", gca_pos)

# set text
leg_pos = get(hleg, "position")
x_pos = 1.2;
y_pos = 1.05;
leg_title = "title";
text(x_pos, y_pos, leg_title, 
     "units", "normalized",
     "fontName", get(gcf, "DefaultAxesFontName"),
     "fontSize", get(gcf, "DefaultAxesFontSize"))

产生 标题集

于 2016-02-03T20:27:09.760 回答