Crie círculos concêntricos com números dentro

Oct 12 2020

Olá, se você puder me dar uma mão, eu quero criar e exportar para pdf a figura a seguir, que se você perceber forma a tabuada. A ideia é poder controlar o número central (nc), o número final (nf) e a quantidade de divisões (nd) e que do lado de fora dou como saída os resultados. Por exemplo, se eu escrever nc = 1 e nf = 15, nd = 20, ele criará 15 círculos concêntricos iguais com as tabelas de 1x1 a 15x15 e os exportará para pdf, onde cada círculo concêntrico construído terá cerca de 10 ou 12 cm (Não tenho certeza se o que vejo na tela é o mesmo que vejo mais tarde no pdf) Meu código criou um círculo central muito pequeno, não sei se pode ser melhorado. Obrigado por qualquer ajuda.

nc = Input["central number"];

nf = Input["final number"];

nd = Input["number of divisions"];
drawCircle[x_, y_, r_ /; r > 10] := {Circle[{x, y}, r], 

drawCircle [x, y, r / 2]};

drawCircle[__] := {} drawCircle[0, 0, 60] // Graphicsenter

Respostas

kglr Oct 12 2020 at 09:09
nd = 10;
centernumber = 9;
PieChart[{{Labeled[1, Style[centernumber, FontSize -> Scaled[.1], White], 
    {{0, 0}, {.5, .5}}]}, 
  Labeled[1, Style[#, FontSize -> Scaled[.05]]] & /@ Range[nd], 
  Labeled[1, Style[#, FontSize -> Scaled[.05], White]] & /@ (centernumber Range[nd])}, 
 ChartStyle -> { "Rainbow", None}, 
 SectorOrigin -> {{Pi/2, -1}, 0}]

PieChart[{{Labeled[1, Style[centernumber, FontSize -> Scaled[.1]], {{0, 0}, {.5, .5}}]}, 
  Labeled[1, Style[#, FontSize -> Scaled[.05]]] & /@ Range[nd], 
  Labeled[1, Style[#, FontSize -> Scaled[.05]]] & /@  (centernumber Range[nd])}, 
 SectorOrigin -> {{Pi/2, -1}, 0}, 
 ChartStyle -> {GrayLevel /@ {.5, .7, .9}, None}]

Para ter raios diferentes para as três camadas, use SectorChart:

r1 = 1; r2 = 2; r3 = 4;

SectorChart[{{Labeled[{1, r1}, Style[centernumber, FontSize -> Scaled[.1]], 
     {{0, 0}, {.5, .5}}]},
   Labeled[{1, r2}, Style[#, FontSize -> Scaled[.05]]] & /@ Range[nd],
   Labeled[{1, r3}, Style[#, FontSize -> Scaled[.05]]] & /@ 
    (centernumber Range[nd])}, 
  SectorOrigin -> {{Pi/2, -1}, 0}, 
  ChartStyle -> {GrayLevel /@ {.5, .7, .9}, None}]