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

Graph 绘制垂直图,gnuplot。旋转xlabel和键,graph,graphics,rotation,gnuplot,Graph,Graphics,Rotation,Gnuplot,首先我想为这篇文章道歉,我的英语有点生疏了 所以我在绘制图表时遇到了一个问题,这是一个很长的时间。图表如下 该图是根据与数据文件相关的正态分布拟合生成的 我想画y处的高斯分布,而不是x处的高斯分布。使这些图表垂直。我研究了几件事,没有发现。然后我想到了​​在\TeX中旋转它,但为此我必须旋转标签、tics和键 我使用epslatex,所以透明度有问题。我使用cairolatex(生成下图)解决了这个问题。解决了透明度问题后,我打开了所有的tics和标签 第一个问题,xlabel是如何旋转的 设置

首先我想为这篇文章道歉,我的英语有点生疏了

所以我在绘制图表时遇到了一个问题,这是一个很长的时间。图表如下

该图是根据与数据文件相关的正态分布拟合生成的

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

我使用epslatex,所以透明度有问题。我使用cairolatex(生成下图)解决了这个问题。解决了透明度问题后,我打开了所有的tics和标签

第一个问题,xlabel是如何旋转的 设置xlabel“$E_p[meV]$”旋转180 但它不起作用,所以我的解决办法是 取消设置xlabel 将标签“$E_p$[meV]”设置为30.5,-550旋转180 并调整位置,这是不切实际的

第二个问题,我没有找到任何解决办法,那就是如何打开钥匙

为了更好地理解,请按照图进行操作

谢谢你


您可以使用
设置参数化
来绘制不能写成
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 
此处,设置自动缩放yfix会自动将y范围调整到本例所需的
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"

您提出的解决方案非常好。他很快就解决了我的问题。对于设置样本1000,它是半网格,我将它增加到20000以保持冷静,只显示白线,非常谨慎。对于版本5.2,你不应该得到任何白线。这是以前版本中的Filled Curves的一个问题。