> Short pieces of code are easier to run and check.
Right. Sorry.
>
> The trick here is to write the legend only for the first vector and
> leave the rest of the vectors without legends. Something like this
> should work:
Ok. Thx for the answer.
It gives a good list ( display of list is as expected) but draw does
not accepts it :
part: argument must be a non-atomic expression; found "key = \"\""
-- an error. To debug this try: debugmode(true);
Below are 2 batch files ( shorter) : one which not works and one which
works.
Probably smth ( ?part) inside draw makes this error.
?
Adam
======= not working ======
/* riotorto.users.sourceforge.net/gnuplot/vectors/index.html */
GiveAVector(m):=block(
[x,y,dx,dy],
x:0,
y:0,
dx:realpart(m),
dy:imagpart(m),
vector([dx,dy],[-dx,-dy])
)$
/*
http://math.stackexchange.com/questions/361205/what-is-the-shape-of-parabolic-critical-orbit
*/
/* attracting vectors
one key for all vectpors - not works
part: argument must be a non-atomic expression; found "key = \"\""
-- an error. To debug this try: debugmode(true);
va is displayed properly
*/
va:solve(z^12=1/(912*%i+12*84));
va:map(rhs,va);
va:map(rectform,va);
va:map('float,va);
va:map(GiveAVector,va);
f:first(va);
r:rest(va,1);
r:cons(string(key=""),r);
va:cons(f,r);
draw2d(
title = concat("All critical orbits for discrete map f(z)=",fs ,"
where m=e^{2*pi*i*3/4}= -i "),
terminal = screen,
user_preamble = "set angles degrees; set xtics 0.62996052494744;
set mxtics 0.5; set size square", /* 360/12-30 */
file_name =
concat("~/maxima/parabolic/critical_orbits/z4plusmz/3over4/arv/",string(iLength),"ar"),
pic_width = 1000, /* Since Maxima 5.23, pic_width and
pic_height are deprecated. */
pic_height = 1000, /* See option dimensions. To get the same
effect, write dimensions=[800,600] */
yrange = [-0.75,0.75],
xrange = [-0.75,0.75],
xlabel = "z.re ",
ylabel = "z.im",
/* vectors */
head_both = false,
head_length = 0.000001,
line_width = 0.63,
head_angle = 1,
head_type = nofilled,
line_type = solid,
key = "attracting vectors",
color = yellow,
va
);
=========== working =================
draw2d(
/* vectors */
head_both = false,
head_length = 0.000001,
line_width = 0.63,
head_angle = 1,
head_type = nofilled,
line_type = solid,
key = "attracting vectors",
color = yellow,
first(va),
key="",
rest(va),
key = "repelling vectors",
color = gray,
first(vr),
key="",
rest(vr)
);