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