首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >X射线衍射峰的标记法

X射线衍射峰的标记法
EN

Stack Overflow用户
提问于 2019-06-13 00:19:35
回答 1查看 410关注 0票数 0

在这篇老帖子之后,我很想知道如何手动将标签放在山峰上。

Gnuplot XRD graph, connecting points

要有这样的东西:

版本1

我已经修改了这两个代码以使其适应我想要的,但我有一个错误。

我的代码如下:

代码语言:javascript
运行
复制
set terminal postscript enhanced color"Times-Roman" 20
set xlabel "2{/Symbol Q} (°)"
set ylabel "Intensity (a.u.)"
set xrange [10:90]
set key off
set decimalsign
set output "UHTC-XRD.eps"
set palette defined (1 "red", 2 "green", 3 "blue")
unset colorbox
array Materials[3] = ["ZrB_2", "SiC", "C"]
Gap = 150
Length = 500
plot  "XRD_UHTC_data.txt" using 2:1 with lines lc rgb "blue" title "lines", "peaksUHTC.txt" for [i=1:3] '' u (i==$3?$2:NaN):($1+Gap+Length+Gap):3 w p pt 7 palette title Materials[i]

对于下面的频谱数据(我只会指出几行,+ 4000):

代码语言:javascript
运行
复制
147 10.01
181 10.03
169 10.05
148 10.07
162 10.09
165 10.11
167 10.13

我得到了这个数字:

第一个问题,如何删除y轴值?关于峰的标注,我制作了以下文件作为示例

代码语言:javascript
运行
复制
# PosY PeakX  Category
10697 41.77 1
6383 32.73 1
259 35.81 2
101 16.27 3

但是我在主文件中有这个错误:

"gnuXRD_UHTC.txt“第26行:意外或无法识别的标记

我看不出哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-13 04:38:52

一个建议(需要gnuplot >=5.2):你需要有一个数据文件/数据块,其中包含峰值位置,峰值强度以及材料类别(例如,以数字形式)。因为我没有XRD数据,所以我只是简单地用脉冲绘制峰值(用你的XRD数据代替这条线)。然后,对峰上方的短线使用with vectors,对符号使用with points。一种方法是使用调色板来获取作为material类的函数的颜色。为了获得正确的图例着色,在循环遍历材质时需要跳过某些曲线(表达式:...(i==$3?$1:NaN)...)也许还有其他的(更简单?)实现相同结果的方法。

代码:

代码语言:javascript
运行
复制
### labeling of peaks
reset session

$PeakData <<EOD
# PosX PeakY  Category
9.56   998.8  2
11.2  1215.9  3
26.9  1315.0  1
34.6  4927.5  1
36.6  1023.1  1
42.1  1262.3  1
46.0  1609.7  4
50.5  1404.1  1
55.4  1393.8  1
55.5  1686.6  2
56.9  1545.7  3
66.4   581.4  1
67.8   722.5  3
72.0   679.6  2
72.9   571.2  3
74.9   419.5  3
76.9   582.4  4
78.3   484.9  1
EOD

Gap = 150
Length = 500
set palette defined (1 "red", 2 "green", 3 "blue", 4 "orange")
unset colorbox
array Materials[4] = ["Material 1", "Material 2", "Material 3", "Material 4"]

plot $PeakData u 1:2 with impulses lw 2 lc rgb "violet" notitle, \
     $PeakData u 1:($2+Gap):(0):(Length) with vectors nohead notitle, \
     for [i=1:4] '' u (i==$3?$1:NaN):($2+Gap+Length+Gap):3 w p pt 7 palette title Materials[i]
### end of code

结果:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56566547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档