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

Plot vertical graphs, gnuplot. Rotate xlabel and key

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

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

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

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

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

第一个问题,xlabel是怎么旋转的,我做了 设置 xlabel '$E_p [meV]$' 旋转 180 但它没有用,所以我的解决方案是制作一个 取消设置 xlabel 将标签 '$E_p$ [meV]' 设置为 30.5,-550 旋转 180 并调整位置,没什么实际意义

第二个问题,我没有找到任何解决方案,如何转动钥匙?

按照图表更好地理解...

谢谢...

您可以使用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"