首先,我想为文本道歉,我的英语有点生疏。
所以我在绘制图表时遇到了问题,这耗费了很长时间。该图表如下。
此图表是根据相对于数据文件的正态分布拟合生成的。
我想将高斯绘制在y,而不是x。使这些图表垂直。我研究了几件事并没有找到它。然后我有了在\ TeX中旋转它的想法,但为此我必须转动标签,抽搐和钥匙。
我使用epslatex,所以我遇到透明问题。我使用cairolatex(生成下图)解决了这个问题。解决了透明度,我去了所有的抽动和标签。
第一个问题,xlabel如何旋转,我做到了 设置xlabel'$ E_p [meV] $'旋转180 并且它不起作用,所以我的解决方案是制作一个 取消设置xlabel 将标签'$ E_p $ [meV]'设置为30.5,-550旋转180° 并调整位置,这是不切实际的。
我没有找到任何解决方案的第二个问题是,如何关键?
按照数字进行更好的理解......
谢谢...
答案 0 :(得分:3)
您可以使用set parametric
绘制无法写为y(x)
的此类函数。在参数模式下,您必须为两个坐标指定函数x(t)
和y(t)
。虚拟变量t
的范围由set trange
控制。一个简单的例子是
set parametric
set trange [-4:4]
set autoscale yfix
y(t) = t
x(t) = t**2
plot x(t), y(t) with lines
此处,set autoscale yfix
会自动将yrange调整到y(t)
的范围,这在这种情况下是理想的。 xrange像往常一样自动缩放。
所以,对于那些带有一些眼睛糖果的高斯人来说,上述例子的扩展可能是
reset
set samples 1000
set style fill transparent solid 0.50 noborder
set style function filledcurves x1=0
set xlabel "Counts"
set ylabel "Energy"
Gauss(x,mu,sigma) = 1./(sigma*sqrt(2*pi)) * exp( -(x-mu)**2 / (2*sigma**2) )
d1(x) = Gauss(x, 0.5, 0.5)
d2(x) = Gauss(x, 2., 1.)
d3(x) = Gauss(x, -1., 2.)
set encoding utf8
set parametric
set trange [-8:8]
set autoscale yfix
plot d1(t),t title "μ = 0.5 σ = 0.5",\
d2(t),t title "μ = 2.0 σ = 1.0",\
d3(t),t title "μ = -1.0 σ = 2.0"