2011-07-04 11 views
5

Dados dos parcelas vectoriales y un gráfico de contorno como el siguientecontrol de opacidad de la superposición de tramas

as = VectorPlot[{Cos[y], Sin[x] }, {x, -3, 3}, {y, -3, 3}, 
       VectorScale -> Automatic, VectorColorFunction -> "Rainbow" 
    ]; 
bs = StreamPlot[{Cos[y], Sin[x] }, {x, -3, 3}, {y, -3, 3}, 
       VectorScale -> Automatic, StreamColorFunction -> "Rainbow" 
    ]; 
cs = ContourPlot[Cos[x] + Sin[y], {x, -3, 3}, {y, -3, 3}, 
       ColorFunction -> "BlueGreenYellow" 
    ]; 
Show[cs, bs, as] 

enter image description here

podemos ver el trabajo de superposición básica está bien hecho por Mostrar []. Pero mi pregunta es ¿cómo puedo controlar la opacidad del gráfico de contorno de fondo cs? Además, ¿cómo puedo insertar esquemas de color tipo "BlueGreenYellow" en una función de color como la siguiente?

ContourPlot[Cos[x] + Sin[y], {x, -3, 3}, {y, -3, 3}, 
      ColorFunction -> (Directive[Opacity[#],Blue] &) 
]; 

Respuesta

7

Usted puede intentar usar BaseStyle de la siguiente manera:

cs = ContourPlot[Cos[x] + Sin[y], {x, -3, 3}, {y, -3, 3}, 
       ColorFunction -> "BlueGreenYellow", 
       BaseStyle -> Directive[Opacity[0.5]] 
    ]; 

enter image description here

10

no creo que la solución jmlopez' es correcta, porque los vectores y el marco también son parcialmente transparentes. Creo que es mejor para insertar un comando Opacity en el objeto Graphics, que preservará vectores opacos:

as = VectorPlot[{Cos[y], Sin[x]}, {x, -3, 3}, {y, -3, 3}, 
     VectorScale -> Automatic, VectorColorFunction -> "Rainbow"]; 
bs = StreamPlot[{Cos[y], Sin[x]}, {x, -3, 3}, {y, -3, 3}, 
     VectorScale -> Automatic, StreamColorFunction -> "Rainbow"]; 
cs = ContourPlot[Cos[x] + Sin[y], {x, -3, 3}, {y, -3, 3}, 
     ColorFunction -> "BlueGreenYellow"]; 

cs2 = MapAt[{Opacity[0.5], #} &, cs, 1]; 

Show[cs2, bs, as] 

enter image description here


La segunda cuestión no se abordó. Se pueden combinar opacidad y un degradado de color de esta manera:

ContourPlot[Cos[x] + Sin[y], {x, -3, 3}, {y, -3, 3}, 
    ColorFunction -> ({Opacity[#], ColorData["BlueGreenYellow"][#]} &) 
] 

enter image description here

Cuestiones relacionadas