Можно ли сделать относительные изменения размеров в PointSize [], Thickness [] в Mathematica? - PullRequest
2 голосов
/ 03 марта 2011

Возникающий из этот вопрос относительно толщины линии и настройки размера точки [например, PointSize[Large}, PointSize[0.5]), мне было интересно, возможно ли изменить PointSize[], Thickness[] и т. Д. относительно способом?

т.е. почему PointSize[Larger] не работает? Или же можно как-то запросить существующий размер точек и, возможно, сделать что-то вроде PointSize[1.25*GetPointSize[]] (я не смог выяснить, существует ли что-то вроде «GetPointSize []», ни с помощью быстрого просмотра документации, ни из быстрый обратный инжиниринг взгляд на PointSize [x])

Ответы [ 3 ]

4 голосов
/ 03 марта 2011

Вы можете сделать это, используя форму параметра Style PointSize с Inherited в значении:

Graphics[{Style[{Point[{0, 0}], 
Style[{Point[{.2, 0}], 
  Style[{Point[{.4, 0}], 
    Style[{Point[{.6, 0}], 
      Style[{Point[{.8, 0}]}, PointSize -> .9 Inherited]}, 
     PointSize -> .9 Inherited]}, PointSize -> .9 Inherited]}, 
 PointSize -> .9 Inherited]}, PointSize -> .1]}, PlotRange -> 1]

enter image description here

4 голосов
/ 03 марта 2011

Те опции, которые Mathematica отслеживает, раскрываются AbsoluteOptions[] Попробуйте AbsoluteOptions[Graphics[{Point[{0, 0}]}]], например. К сожалению, PointSize не входит в число отслеживаемых параметров.

Так почему бы просто не использовать переменную для хранения используемого значения?

ps = 0.01; Graphics[{PointSize[ps], 
  Table[Point[{RandomReal[], RandomReal[]}], {i, 100}]}]

enter image description here

Тогда ...

Graphics[{PointSize[ps*2], 
  Table[Point[{RandomReal[], RandomReal[]}], {i, 100}]}]

I'd post an image but I don't have 10 points yet!

2 голосов
/ 03 марта 2011

Я не могу комментировать «Директиву» Велизария из-за отсутствия очков, поэтому я перезвоню здесь:

Код Рэгфилда работает, но все инструкции PointSize действительно отмечены красным.Отформатированный как директивы, он все еще работает и тоже не помечен как ошибочный:

Graphics[
 {
 Style[
  {
   Point[{0, 0}],
   Style[
    {
     Point[{.2, 0}],
     Style[
      {
       Point[{.4, 0}],
       Style[
        {
         Point[{.6, 0}],
         Style[
          {
           Point[{.8, 0}]
          },
          PointSize[.9 Inherited]
         ]
        },
        PointSize[.9 Inherited]
       ]
      },
      PointSize[.9 Inherited]
     ]
    },
    PointSize[.9 Inherited]
   ]
  },
  PointSize[.1]
 ]
},
PlotRange -> 1
]

Мне нравится немного форматирования для глубоко вложенных структур, подобных этой.Кто-нибудь знает, как можно вставить отформатированный код Mma в Stackoverflow без необходимости выполнять ручное форматирование впоследствии?

Приятно слышать о Inherited Кстати.По-видимому, новый с v6, но он полетел под моим радаром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...