Le 25/02/2019 à 21:14, Samuel Gougeon a écrit :
Le 25/02/2019 à 20:37, P M a écrit :
no...I'm not (yet) prime minister :-))
What do I mean? Please, check this small example:
clear();
clc;
xdel();
x = linspace(1,10);
y = x .* x;
f1 = figure();
f1.background = 8;
title ('my title','position',[10 100]);
subplot(221);
plot(x,y);
a1 = gca();
a1.data_bounds = [0,0;10,100];
a1.tight_limits = ["on","on","off"]; so far so good.
change to: a1.data_bounds = [0,0;10,200];
You see that the title position changes.
I need to play with a1.data_bounds.
This is because my diagram representes data from a file and each file
content may change the Y-axis...so I can not have a fixed value for
a1.data_bound.
I probably could figure out how to set the Y-position of the title
with respect to max(y).
I just thought it is quite nice, if the position of the title would
be depending on just the figure size and not on the axis scale.
Thanks for the context. It often helps.
Here is a suggestion:
clf
subplot(1,2,2)
ax1 = gca();
x = linspace(-2,7,100);
plot(x, sin)
axt = newaxes();
axt.axes_bounds = ax1.axes_bounds;
plotframe([0 0 1 1]);
set(axt, "box", "off", "margins",[0 0 0
0],"axes_visible","off","filled","off")
title("My title in normalized coodinates", "position",[0.2 0.9],"fontsize",4)
sca(ax1);
Using title() instead of xstring() does not allow to center the title on
its middle.
Then, the title is badly shifted when resizing the windows.
A better solution follows:
clf
subplot(1,2,2)
ax1 = gca();
x = linspace(-2,7,100);
plot(x, sin)
axt = newaxes();
axt.axes_bounds = ax1.axes_bounds;
plotframe([0 0 1 1]);
set(axt, "box", "off", "margins",[0 0 0
0],"axes_visible","off","filled","off")
xstring(0.5,0.93, "My title in normalized coordinates")
t = gce();
set(t,"text_box_mode","centered","font_size",4);
sca(ax1);
Samuel
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users