Minor Log đánh dấu trên trục X của DensityPlot

Sep 06 2020

Bất cứ ai có thể giúp tôi thêm dấu tích Nhật ký nhỏ vào trục X của Lô đất này? Cảm ơn bạn rất nhiều!

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"]

Tôi đã thử nhiều cách nhưng không có cách nào hiệu quả. Tôi vẫn đang học điều này. Cảm ơn bạn.

Trả lời

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"];

Hậu xử lý dpđể thay đổi số lượng tick lớn và nhỏ mặc định ( {6,6}) thành {8,6}cho khung dưới cùng và trên cùng:

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

Ngoài ra,

{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}}]