gnuplot xtics 在增强模式下带有下划线

问题描述 投票:0回答:1

我需要在扩展模式下打印名为 xtics 的内容。问题是存储在“selected_indices”中的名称包含下划线。要在扩展模式下将它们打印为下划线,下划线前面必须有三个反斜杠。当我将 xtics 添加到绘图中时,如何自动插入这三个反斜杠?

原文:

n_indices = words(selected_indices)
selected_indices = "A_a B_b"
print selected_indices

想要:

selected_indices = "A\\\_a B\\\_b"
print selected_indices

set xtics ( '' 1 )
set for [i=1:n_indices] xtics add ( sprintf("{/:Bold %s}", word( selected_indices, i ) ) i )
gnuplot axis-labels
1个回答
0
投票

我首先想到的就是用

_
替换
\_
。 请注意单引号和双引号的区别,
"\\\_"
'\_'

在下面的脚本中,定义了一个函数,将字符串中的第一个下划线(

_
)替换为反斜杠+下划线(
\_
)。这样,您可以“取消”增强下标的下划线,但仍使用
^
表示下标。也许有更好的解决方案。

脚本:

### unenhance underscore in enhanced textmode
reset session

$Data <<EOD
A_a^1   1
B_b^2   2
C_c^3   3
EOD

set offset 1,1,1,1
set key noautotitle
set style fill solid 0.4

ueus(s) = s[1:c=strstrt(s,'_')-1].'\_'.s[c+2:]   # unenhance underscore

plot $Data u 0:2:xtic(ueus(strcol(1))) w boxes
### end of script

结果:

© www.soinside.com 2019 - 2024. All rights reserved.