绘制垂直图,gnuplot。旋转xlabel和键

时间:2018-02-24 03:08:47

标签: graph graphics rotation gnuplot

首先,我想为文本道歉,我的英语有点生疏。

所以我在绘制图表时遇到了问题,这耗费了很长时间。该图表如下。

此图表是根据相对于数据文件的正态分布拟合生成的。

我想将高斯绘制在y,而不是x。使这些图表垂直。我研究了几件事并没有找到它。然后我有了在\ TeX中旋转它的想法,但为此我必须转动标签,抽搐和钥匙。

我使用epslatex,所以我遇到透明问题。我使用cairolatex(生成下图)解决了这个问题。解决了透明度,我去了所有的抽动和标签。

第一个问题,xlabel如何旋转,我做到了 设置xlabel'$ E_p [meV] $'旋转180 并且它不起作用,所以我的解决方案是制作一个 取消设置xlabel 将标签'$ E_p $ [meV]'设置为30.5,-550旋转180° 并调整位置,这是不切实际的。

我没有找到任何解决方案的第二个问题是,如何关键?

按照数字进行更好的理解......

谢谢...

enter image description here

enter image description here

enter image description here

1 个答案:

答案 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像往常一样自动缩放。

enter image description here

所以,对于那些带有一些眼睛糖果的高斯人来说,上述例子的扩展可能是

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"

enter image description here