ContourPlot - ColorFunctionScaling non aiuta a ottenere ColorFunction correttamente
Ho un ContourPlot in cui ogni contorno dovrebbe essere visualizzato con un colore diverso
ContourPlot[
-((2500*Sqrt[13]*(x - 10000)*x^2*y)/(15625*x^4 - 13*(x - 10000)^2*y^2)),
{x, 35, 100},
{y, 1.4, 5.6},
PlotLegends -> Automatic,
Contours -> 20,
ColorFunction -> "DarkRainbow"
]
ma ottengo questo output
sembra ColorFunctionche non funzioni. Quindi ho provato ad aggiungereColorFunctionScaling->False
che mi dà questa uscita
Come puoi vedere c'è una differenza ma non quella che mi aspettavo. Ho provato a usare ColorFunctionScaling->Trueanche il che mi dà lo stesso output che avevo all'inizio.
Risposte
Penso che il problema derivi dai valori grandi vicino alla singolarità nella tua funzione in alto a sinistra. La scelta predefinita dei colori dei contorni sembra utilizzare molto di più dell'intervallo di quanto mostrato nel grafico per impostazione predefinita.
Una soluzione consiste nello specificare l'intervallo nella funzione colore.
With[{min = 0, max = 20},
ContourPlot[-((2500*Sqrt[13]*(x - 10000)*x^2*y)/(15625*x^4 -
13*(x - 10000)^2*y^2)), {x, 35, 100}, {y, 1.4, 5.6},
PlotLegends -> Automatic, Contours -> 20,
PlotRange -> {min, max},
ColorFunctionScaling -> False,
ColorFunction -> (ColorData[{"DarkRainbow", {min, max}}])
]
]