0

我正在尝试绘制 x 值介于 xtics 之间的图表。

例如,我希望我的 xtics 是

C72 C73 C74 C75 C76 C77 C78 C79 C80 C81

并且点落在 C72 C73 之间;C73 C74 ; C74 C75 ; 等等。

我的数据点是

>  2.5  0.17509   C72  
>  3.5  0.220434  C73   
>  4.5  0.164918  C74  
>  5.5  0.172477  C75   
>  6.5  0.156145  C76  
>  7.5  0.171699  C77   
>  8.5  0.165199  C78   
>  9.5  0.191207  C79   
> 10.5  0.211656  C80  
> 11.5  0.202233  C81  

我在脚本定义中使用了 xticlabels(),如下所示:

#OUTPUT    
set terminal pngcairo size 650,450 enhanced dash
set output "xplot_gauche_malto-thermo.png"
set style line 4 lt 4 lw 10 # Please DISABLE pause -1 

#MICRO
set macro
labelFONT="font 'arial,22'"
scaleFONT="font 'arial,18'"
scaleFONT2="font 'arial,18'"
keyFONT="font 'arial,18'"

# AXIS DEFINITIONS
set xrange [0:12]
set yrange [0:0.8]
set xtic (2,3,4,5,6,7,8,9,10,11)                @scaleFONT2 
set ytic                                        @scaleFONT                      
set boxwidth 0.8
set size square  

#PLOT 

plot "all_dihedrals_in_layers_malto.dat" using 1:2:xticlabels(3) with linespoints lw 2 linecolor rgb "black" pointtype 1 pointsize 2 title ""

如果我使用上面的代码,仅使用数据文件中的第 1 列和第 2 列(如上所示)得到一个图,我得到的点落在 2-3、3-4、4-5 等之间。

不幸的是,如果我使用“xticlabels()”,我不会得到我想要的图表,该点应该落在 C72-C73、C73-C74、C74-C75 等之间。

提前感谢任何帮助。谢谢

4

1 回答 1

1

尝试这样的事情..(未经测试,我这台机器上没有gnuplot..)

plot "all_dihedrals_in_layers_malto.dat" using 1:2 with linespoints \
        lw 2   linecolor rgb "black" pointtype 1 pointsize 2 title "" ,\
     "all_dihedrals_in_layers_malto.dat" using ($1-.5):0/0:xticlabels(3) 

当然,您也可以手动输入 set xtics 行上的标签。

编辑..有机会尝试一下,0/0 或 (0/0) 不起作用。您需要做的是绘制一些超出范围的值.. 例如:

set yrange [0:]
plot "all_dihedrals_in_layers_malto.dat" using 1:2 with linespoints \
        lw 2   linecolor rgb "black" pointtype 1 pointsize 2 title "" ,\
     "all_dihedrals_in_layers_malto.dat" using ($1-.5):-1:xticlabels(3) notitle 
于 2013-05-20T11:23:56.567 回答