Манипулирование: расстояние и фон - PullRequest
5 голосов
/ 23 октября 2011

Обратите внимание:

 Manipulate[Rasterize[Graphics[{
    Black, Rectangle[{0, 0}, {6, 10}],
    Red, Rectangle[{0, 0}, {2, L}],
    Green, Rectangle[{2, 0}, {4, M}],
    Blue, Rectangle[{4, 0}, {6, S}]},
    ImageSize -> {200, 270},
    ImageSize -> 50]],
    Control@{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
    ControlType -> Slider, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled", ImageSize -> 200},
    Control@{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
    ControlType -> Slider, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled", ImageSize -> 200},
    Control@{{S, 1, Style["S", Blue, Bold, 24]}, Range[10], 
    ControlType -> Slider, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled", ImageSize -> 200}]

enter image description here

  • Можно ли изменить цвет фона: например, черный вместо белого.

  • Почему так много свободного места справа.Мне никогда не удавалось сопоставить размер ползунка с шириной Манипулята, просто охватывающего содержащуюся графику?

Ответы [ 2 ]

5 голосов
/ 23 октября 2011

Если вы установите Paneled -> False в Manipulate, это уменьшит пустое пространство вокруг Graphics.Оставшийся белый цвет можно легко установить на другой фон, установив его соответствующим образом в команде Graphics[...].Вы также можете стилизовать внешнюю панель, установив фон в BaseStyle для Manipulate.Вот небольшая модификация вашего кода:

Manipulate[
 Graphics[{Black, Rectangle[{0, 0}, {6, 10}], Red, 
   Rectangle[{0, 0}, {2, L}], Green, Rectangle[{2, 0}, {4, M}], Blue, 
   Rectangle[{4, 0}, {6, S}]}, ImageSize -> {200, 300}, 
  Background -> LightOrange], 
 Control@{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}, 
 Control@{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}, 
 Control@{{S, 1, Style["S", Blue, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}, BaseStyle -> {Background -> LightPurple},
  Paneled -> False, ImageMargins -> 10]

enter image description here

В моем предыдущем примере я не заметил, что метки немного сместились вверх.В любом случае, предложение Велисария использовать ImageSize -> Small проще, поэтому я принял его.

3 голосов
/ 23 октября 2011

Я думаю, вы злоупотребили параметром ImageSize:

Manipulate[
 Graphics[{Black, Rectangle[{0, 0}, {6, 10}], Red, 
   Rectangle[{0, 0}, {2, L}], Green, Rectangle[{2, 0}, {4, M}], Blue, 
   Rectangle[{4, 0}, {6, S}]}, ImageSize -> {200, 300}],

 Control@{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}, 
 Control@{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}, 
 Control@{{S, 1, Style["S", Blue, Bold, 24]}, Range[10], 
   ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top,
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
   Appearance -> "Labeled"}]

enter image description here

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