2011-10-23 13 views
5

por favor considere:Manipular: Separación y antecedentes

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]], 
    [email protected]{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
    ControlType -> Slider, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled", ImageSize -> 200}, 
    [email protected]{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
    ControlType -> Slider, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled", ImageSize -> 200}, 
    [email protected]{{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

  • ¿Puedo cambiar el color de fondo: Negro en lugar de negro, por ejemplo.

  • ¿Por qué hay tanto espacio vacío a la derecha? Nunca he podido hacer coincidir el tamaño del control deslizante con el ancho de la Manipulación simplemente envolviendo los gráficos contenidos?

+0

Hmm .. Puedo controlar la parte gris, pero no la blanca. – abcd

+0

@Yoda, ¡estoy interesado! Cómo ? ¿Y puedes hacer algo por el espacio superficial de la derecha :-)? – 500

Respuesta

5

Si establece Paneled -> False en Manipulate, que se reduce el espacio en blanco alrededor de la Graphics. El blanco restante se puede configurar fácilmente para que tenga un fondo diferente configurándolo adecuadamente en el comando Graphics[...]. También puede diseñar el panel exterior configurando el fondo en BaseStyle para Manipulate. Aquí hay una ligera modificación de su código:

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], 
[email protected]{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
    ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled"}, 
[email protected]{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
    ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled"}, 
[email protected]{{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

no me había fijado en mi ejemplo anterior que las etiquetas se habían movido ligeramente hacia arriba. En cualquier caso, la sugerencia de belisarius de usar ImageSize -> Small es más simple, así que la he adoptado.

+0

así que no hay manera de tener la etiqueta en el lateral para que sea más abono verticalmente? Ya es impresionante ... – 500

+0

La opción 'BaseStyle' no funciona en mi sistema (MMa 8.0.1 en Windows XP 32 bit). –

+0

@ 500 Descubrí una forma de cambiar el blanco a un color diferente. Por favor mira mi edición. Creo que usar 'ImageSize -> Small' como en el código de belisarius es más simple que tratar de luchar con colocar las etiquetas correctamente con' LabeledSlider'. – abcd

3

Creo que lo usa demasiado la opción 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}], 

[email protected]{{L, 1, Style["L", Red, Bold, 24]}, Range[10], 
    ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled"}, 
[email protected]{{M, 1, Style["M", Green, Bold, 24]}, Range[10], 
    ControlType -> Slider, ImageSize -> Small, ControlPlacement -> Top, 
    DefaultBaseStyle -> {Bold, 16, FontFamily -> "Helvetica"}, 
    Appearance -> "Labeled"}, 
[email protected]{{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

+0

Gracias, todavía espero tener el control deslizante hasta el final manteniendo la etiqueta a la altura del control deslizante :-) – 500

+0

@ 500 El problema es que "Etiquetado" coloca una caja grande desde el número visible hasta el margen derecho, y parece no hay forma de redimensionarlo. –

Cuestiones relacionadas