2011-08-12 8 views
5

Cuando creo y la trama esta lista:área blanca en Mathematica ListPlot

var = 2; 
okList = {{0.8, var, 0.8, 0.8}, {0, 0.3, 0.6, 0.9}, {0, 1, 2, 3}}; 
lp = ListDensityPlot[okList, ColorFunction -> "SandyTerrain"] 

scaled

o, sin escala, de esta manera:

lp = ListDensityPlot[okList, ColorFunction -> "SandyTerrain", 
    ColorFunctionScaling -> False] 

unscaled

consigo una totalmente de color cuadrado, como era de esperar.

Pero cuando intento esto:

var = 0.8; 
list = {{0.8, var, 0.8, 0.8}, {0, 0.3, 0.6, 0.9}, {0, 1, 2, 3}}; 
problem = ListDensityPlot[list, ColorFunction -> "SandyTerrain"] 

me sale una mancha blanca en la esquina.

problem

el que el trazado con ColorFunctionScaling-> Falso no se deshace de

problem_scaled

El ColorFunction SandyTerrain no tiene ningún blanco en él, por lo que este debe ser el trazado no ListDensityPlot cualquier cosa en esa área.

¿Qué podría causar que esto suceda, y cómo lo detengo?

Respuesta

6

Está siendo recortado por el cálculo automático del rango de trazado. Pruebe con PlotRange -> All o ClippingStyle -> Automatic.

+0

Wow, gracias, pensé que lo había intentado: P – Samizdis

+0

Ambos funcionan, pero los gráficos resultantes son ligeramente diferentes. ¿Sabes por qué? – Samizdis

+2

En mi sistema (V8.0.1 en OS X), 'ClippingStyle -> Automatic' no cambia notablemente los colores. 'PlotRange -> All' does, porque el rango incrementado afecta el rango escalado a [0,1] por' ColorFunctionScaling -> True'. –

Cuestiones relacionadas