Использование ReplaceAll при построении списка функций - PullRequest
2 голосов
/ 05 мая 2011

Когда для списка функций используется ReplaceAll, PlotStyle для каждой функции теряется.

Пример с атрибутами по умолчанию:

GraphicsGrid[{{
   Plot[{Sin@Cos@t, Cos@Sin@t}, {t, 0, Pi}],
   Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}, {t, 0, Pi}]
   }}]

enter image description here Пример с настраиваемыми атрибутами:

GraphicsGrid[{{
  Plot[{Sin@Cos@t, Cos@Sin@t}, {t, 0, Pi}, PlotStyle -> {Dashed, {Red, Dotted}}],
  Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}, {t, 0, Pi}, 
                                           PlotStyle -> {Dashed, {Red, Dotted}}]
   }}]

enter image description here

Это из-заспособ, которым Plot исследует свои аргументы перед фактическим построением.

Какой самый элегантный способ указать отдельные атрибуты PlotStyle для функций и, если возможно, восстановить атрибуты по умолчанию, когда PlotStyle не указан?

Примечание:

Конечно, выполнение

 Plot[{f1 /. replist, f2 /. replist ....} ..]

не считается "элегантным": D

1 Ответ

3 голосов
/ 05 мая 2011

Я бы, вероятно, просто использовал:

  • Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos} // Evaluate, {t, 0, Pi}]

Или:

  • Plot[#, {t, 0, Pi}] &[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}]

enter image description here

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