绘图中坐标轴如何以科学计数法显示刻度?
mathematica吧
全部回复
仅看楼主
level 8
Plot[Sin[x]/10000, {x, 0, 2 Pi}]
得到的图形如下:
纵坐标中有很多小数位,看起来不太明了,如何将其以科学计数法显示,即显示“-1,-0.5,0.5,1”,然后在纵坐标顶端显示"*10^-4"呢,谢谢。
2015年09月01日 04点09分 1
level 8
Silent提供的方法:
Plot[Sin[x]/10000, {x, 0, 2 Pi},
Ticks -> {Automatic, {{-0.0001, -1}, {-0.00005, -0.5},
0, {0.00005, 0.5}, {0.0001, 1}}},
AxesLabel -> "\!\(\*SuperscriptBox[\(10\), \(-4\)]\)"]
如下图:
无影东瓜提供的方法:
ticksOpt =
MapAt[ScientificForm,
Ticks /.
AbsoluteOptions[Plot[Sin[x]/10000, {x, 0, 2 \[Pi]}], Ticks], {2,
All, 2}];
Plot[Sin[x]/10000, {x, 0, 2 \[Pi]}, Ticks -> ticksOpt]
如下图:
谢谢二位。
2015年09月01日 04点09分 2
插一句,东瓜的解法并不完美,你仔细看,会发现新图的Ticks的样式和目前Mathematica的标准样式有区别。这里主要是AbsoluteOptions的锅。具体请上SE去搜,这里不多说了。总之,一个效果更好的解决方法,请参看这里:https://mathematica.stackexchange.com/a/5371/1871
2017年05月06日 06点05分
1