1 | initial version |
You may use a too old version of SageMath: graphics_array
had some issues that have been fixed in SageMath 8.9 (see Trac #27865). The following code works well with SageMath 9.0:
var('t')
C=[2.5, 1.7, 1, 0.7, 0.5, 0.2, 0, -0.2, -0.5, -0.8, -1, -2] # The values for c
Curves = [polar_plot(1+c*sin(t),0,t,2*pi,
legend_label = '%s'%c.n(digits=2)) for c in C]
for g in Curves:
g.set_legend_options(font_size = 8)
Array = graphics_array(((Curves[0],Curves[2], Curves[2], Curves[3]),
(Curves[4],Curves[5], Curves[6], Curves[7]),
(Curves[8],Curves[9], Curves[10], Curves[11])))
Array.show(figsize = 9)
The font size is correctly taken into account. Note that the above code differs from yours by the set_legend_options
method being called in a loop on all the graphics objects of the list Curves
. In the original code, Curves
was transformed into a list of outputs of this method, namely a list of None
.