ContourPlot - ColorFunctionScaling não ajuda a obter ColorFunction corretamente
Eu tenho um ContourPlot onde cada contorno deve ser exibido com uma cor diferente
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"
]
mas eu recebo esta saída
parece que o ColorFunctionnão funciona. Então tentei adicionarColorFunctionScaling->False
o que me dá essa saída
Como você pode ver, há uma diferença, mas não o que eu esperava. Tentei usar ColorFunctionScaling->Truetambém o que me dá a mesma saída que tinha no início.
Respostas
Acho que o problema vem dos grandes valores próximos à singularidade em sua função no canto superior esquerdo. A escolha padrão de cores de contorno parece estar usando muito mais do intervalo do que mostra no gráfico por padrão.
Uma solução alternativa é especificar o intervalo na função de cor.
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}}])
]
]