绘制标准座标轴

  • A+
所属分类:Mathematica绘图
摘要这个问题来源于当时我在知乎上一个回答下面的评论,我觉得下面的回答很是不错,想在这里说一下。 其实这个在实际应用中还是很常用的,对于写论文很有帮助,可以把论文上的图画得很好看。 一些其他的对绘图有帮助的文章:之后相关的文章都会放在Mathematica绘图这个板块,方便我自己的查阅。

起因

这个问题来源于当时我在知乎上一个回答下面的评论,我觉得下面的回答很是不错,想在这里说一下。

其实这个在实际应用中还是很常用的,对于写论文很有帮助,可以把论文上的图画得很好看。

一些其他的对绘图有帮助的文章:之后相关的文章都会放在Mathematica绘图这个板块,方便我自己的查阅。

下面是这个系列的其他文章:

问题的来源是由于mathematica画出的座标的x和y在座标轴的正上方和正前方,可以看下面的代码和其画出的图像。

  1. Plot[{(0.5)^x}, {x, -1, 4},
  2. PlotStyle -> Directive[AbsoluteThickness[1.975]],
  3. AxesStyle -> Arrowheads[{0., 0.03}],
  4. AxesLabel -> {Style["x", Italic, 12, FontFamily -> "Times"],
  5. Style["y", Italic, 12, FontFamily -> "Times"]},
  6. AxesOrigin -> {0, 0}]
绘制标准座标轴

但实际上我们需要让x和y稍微偏一点,下面就来讲一下如何来实现。

 

绘制标准座标轴

方法一--使用\n与\t

这种方法的原理就是使用\n(换行)和\t(制表符),相当于把x和\n看出一个整体,把y和\t看成一个整体

  1. Plot[{(0.5)^x}, {x, -1, 4},
  2. PlotStyle -> Directive[AbsoluteThickness[1.975]],
  3. AxesStyle -> Arrowheads[{0., 0.03}],
  4. AxesOrigin -> {0, 0},
  5. AxesLabel -> {Style[Row[{"\n", x}], 14, FontFamily -> "Times"],
  6. Style[Row[{y, "\t"}], 14, FontFamily -> "Times"]}
  7. ]
绘制标准座标轴

但是他的缺点就是灵活度不够高

 

方法二--使用Epilog

这种方法相比上一种灵活度更高,但是缺点就是需要自己调整参数。因为灵活度高所以需要调整参数。总之是有利有弊。

  1. Plot[{(0.5)^x}, {x, -1, 4},
  2. PlotStyle -> Directive[AbsoluteThickness[1.975]],
  3. AxesStyle -> Arrowheads[{0., 0.03}],
  4. AxesOrigin -> {0, 0},
  5. Epilog -> {Text[Style[x, 12, FontFamily -> "Times"],
  6. Scaled[{0.99, .03}]],
  7. Text[Style[y, 12, FontFamily -> "Times"], Scaled[{0.23, 0.98}]]},
  8. PlotRangePadding -> Scaled[.1]]
绘制标准座标轴

 

方法三--使用Plot(Plot3D)和Graphics(Graphics3D)结合

 

这种方法也是灵活度较高,但是需要改得参数较多。

  1. f[x_] := (.5)^x
  2. p = Plot[{f[x]}, {x, -1, 4},
  3. PlotStyle -> Directive[AbsoluteThickness[1.975]],
  4. AxesStyle -> Arrowheads[{0, 0.03}],
  5. AxesOrigin -> {0, 0}];
  6. pAxesLabel =
  7. Graphics[{Text[
  8. Style["x", Italic, 12, FontFamily -> "Times"], {4.1, -.2}],
  9. Text[Style["y", Italic, 12, FontFamily -> "Times"], {-.2, 2}]}];
  10. Show[p, pAxesLabel, PlotRange -> All]

 

这个方法就不给出图像了,画出来也和上面的是一样的,大家可以自己去试一下。

 

以上就是使用mathematica来绘制标准座标轴的一些方法,每个方法都有自己的优缺点,大家自己把按照自己的使用习惯使用即可。

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: