PolarTicks, Polar GridLines & Настройка фона - PullRequest
0 голосов
/ 18 сентября 2011

Создание на От декартовой диаграммы до полярной гистограммы с использованием Mathematica Я бы хотел настроить оси R и тета:

пожалуйста, примите во внимание:

list = {{21, 16}, {16, 14}, {11, 11}, {11, 12}, {13, 15}, {18,17}, {19, 11}, {17, 16}, {16, 19}}

Module[{Countz, maxScale, angleDivisions, dAng}, 
        maxScale = 4;
        angleDivisions = 12;
        dAng = (2 \[Pi])/angleDivisions;
        Countz = BinCounts[ Flatten@Map[ArcTan @@ (# - ScreenCenter) &, list, {1}], 
                            {-Pi, Pi,dAng}];

        SectorChart[{ConstantArray[1, Length[Countz]], Countz}\[Transpose], 
        SectorOrigin -> {-\[Pi]/angleDivisions, "Counterclockwise"}, 
        PolarAxes -> True, PolarGridLines -> {Automatic, {1, 2, 3, 4, 5}},
        PolarAxesOrigin -> {Pi/2, 5},
        PolarTicks -> {Table[{i \[Degree] + \[Pi]/angleDivisions, i \[Degree]}, 
                       {i, 0, 345, 30}], Range[5]}, 
        ChartStyle -> {Directive[EdgeForm[{Black, Thickness[0.005]}], Red]},
        BaseStyle -> {FontFamily -> "Arial", FontWeight -> Bold, 
        FontSize -> 12}, ImageSize -> 400, 
        ChartElementFunction -> Function[{range}, 
                                Disk[{0, 0}, range[[2, 2]], -11 Pi/12 + range[[1]]]]]]

enter image description here

2 / Я хотел бы добавить один «тэта-бар», окрашенный в 45 градусов (как показано на рисунке). Однако я сделал это с помощью ppt. Я не мог найти способ сохранить Таблицу, чтобы получить главные тета-оси и нарисовать другую, окрашенную в другой цвет.

enter image description here

3 / Мне не удалось адаптировать решение, предоставленное на Таможенное заднее фоновое изображение на графике в Mathematica , к Polarplot с использованием Prolog. Можно ли иметь область внутри внешнего круга графика, окрашенную в серый цвет, скажем?

1 Ответ

3 голосов
/ 18 сентября 2011

Вы можете использовать Epilog для создания линии и Prolog для фона, например,

Module[{Countz, maxScale, angleDivisions, dAng}, maxScale = 4;
 angleDivisions = 12;
 dAng = (2 \[Pi])/angleDivisions;
 Countz = 
  BinCounts[
   Flatten@Map[ArcTan @@ (# - ScreenCenter) &, list, {1}], {-Pi, Pi, dAng}];

 SectorChart[{ConstantArray[1, Length[Countz]], Countz}\[Transpose], 
  SectorOrigin -> {-\[Pi]/angleDivisions, "Counterclockwise"}, 
  PolarAxes -> True, PolarGridLines -> {Automatic, {1, 2, 3, 4, 5}},
  PolarAxesOrigin -> {Pi/2, 5}, 
  PolarTicks -> {Table[{i \[Degree] + \[Pi]/angleDivisions, 
      i \[Degree]}, {i, 0, 345, 30}], Range[5]}, 
  ChartStyle -> {Directive[EdgeForm[{Black, Thickness[0.005]}], Red]},
   BaseStyle -> {FontFamily -> "Arial", FontWeight -> Bold, FontSize -> 12}, 
  ImageSize -> 400, 
  ChartElementFunction -> 
   Function[{range}, 
    Disk[{0, 0}, range[[2, 2]], -11 Pi/12 + range[[1]]]],
  Epilog -> {Red, Thick, Line[{{0, 0}, 5/Sqrt[2] {1, 1}}]},
  Prolog -> {Gray, Disk[{0, 0}, 5]}]]

sectorchart with line and gray background

...