DensityPlot의 X 축에 대한 마이너 로그 틱

Sep 06 2020

누구든지이 플롯의 X 축에 마이너 로그 틱을 추가하도록 도와 줄 수 있습니까? 정말 고맙습니다!

DensityPlot[
 20*y/(0.2 y + 0.8 x), {x, 1/10^10, 1/10^2}, {y, 1/10^9, 1/10^6}, 
 ScalingFunctions -> {"Log", "Log"}, Ticks -> {Automatic}, 
 ColorFunction -> "Rainbow"]

나는 여러 가지 방법을 시도했지만 그들 중 어느 것도 해결되지 않았습니다. 나는 이것을 아직도 배우고있다. 감사합니다.

답변

3 kglr Sep 06 2020 at 20:48
dp = DensityPlot[20*y/(0.2 y + 0.8 x), {x, 1/10^10, 1/10^2}, {y, 1/10^9, 1/10^6}, 
   ScalingFunctions -> {"Log", "Log"}, ColorFunction -> "Rainbow"];

하단 및 상단 프레임 dp의 기본 주 및 보조 눈금 ( {6,6}) 수를 변경하는 사후 처리 {8,6}:

Replace[dp, {vt : {_, _}, {bt : Charting`ScaledTicks[{Log, Exp}], 
    tt_}} :> {vt, {bt[#, #2, {8, 6}] &, tt[#, #2, {8, 6}] &}}, All]

또는

{leftticks, rightticks} = #[{Log, Exp}][Log[1/10^9], Log[1/10^6], {6, 6}] & /@ 
    {Charting`ScaledTicks, Charting`ScaledFrameTicks};
{bottomticks, topticks} = #[{Log, Exp}][Log[1/10^10], Log[1/10^2], {8, 6}] & /@
    {Charting`ScaledTicks, Charting`ScaledFrameTicks};

Show[dp, FrameTicks -> {{leftticks, rightticks}, {bottomticks, topticks}}]