Plot 轴数相互干扰

Plot 轴数相互干扰,plot,wolfram-mathematica,Plot,Wolfram Mathematica,我在Mathematica中有一个绘图,问题是:绘图的轴数相互干扰。如何删除中间数字,例如,“5*10^12,5*10^13,…”并保留主数字“1*10^12,1*10^13,…”。还有别的办法解决这个问题吗 使用一个简单的例子,可以像这样固定刻度。从和引用代码 首先,案例显示重叠标签 f[x_] := x^2 + x^3 {min, max} = {10^-12, 10^-10}; LogLogPlot[f[x], {x, min, max}, Frame -> True, Bas

我在Mathematica中有一个绘图,问题是:绘图的轴数相互干扰。如何删除中间数字,例如,“5*10^12,5*10^13,…”并保留主数字“1*10^12,1*10^13,…”。还有别的办法解决这个问题吗


使用一个简单的例子,可以像这样固定刻度。从和引用代码

首先,案例显示重叠标签

f[x_] := x^2 + x^3

{min, max} = {10^-12, 10^-10};

LogLogPlot[f[x], {x, min, max}, Frame -> True,
 BaseStyle -> 18, FrameLabel -> {"X", "Y"}]

删除备用标签

xticks = Charting`ScaledTicks[{Log, Exp}][Log[min], Log[max]];
xticks[[All, 1]] = Exp@xticks[[All, 1]];
xticks[[All, 2]] = ReplacePart[xticks[[All, 2]],
   Thread[Select[Range@Length@xticks, EvenQ] -> Spacer[{0, 0}]]];

LogLogPlot[f[x], {x, min, max}, Frame -> True,
 FrameTicks -> {Automatic, {xticks, Automatic}},
 BaseStyle -> 18, FrameLabel -> {"X", "Y"}]

另一个选项是保留所有刻度标签并旋转它们:

xticks = Charting`ScaledTicks[{Log, Exp}][Log[min], Log[max]];
xticks[[All, 1]] = Exp@xticks[[All, 1]];
xticks[[All, 2]] = Rotate[#, Pi/2] & /@ xticks[[All, 2]];

LogLogPlot[f[x], {x, min, max}, Frame -> True, 
 FrameTicks -> {Automatic, {xticks, Automatic}}, BaseStyle -> 18, 
 FrameLabel -> {"X", "Y"}]

准确答案!非常感谢你!