从组织模式表创建蜘蛛图

creating spider plots from org-mode tables

使用 org-plot/gnuplot 从组织模式 table 创建 spider plot(或 radar/star 图)的最简单方法是什么?

org-plot docs suggests it should be possible using a script: option but it's not clear to me how the table columns can be converted into arrays in a gnuplot script (using this example code为起点)

输入看起来像这样...

#+PLOT: title:"spiderplot" set:"output './img/spiderplot.png'" script:"spiderplot.gp"
#+TBLNAME: three-fold
| Array1 | Array2 |  Array3 |
|     15 |     25 |      30 |
|     75 |     25 |      35 |
|     20 |     50 |      55 |
|     43 |     50 |      55 |
|     90 |     75 |      80 |
|     50 |     50 |      25 |

并生成类似这样的图像...

set spiderplot
set style spiderplot fillstyle transparent solid 0.30 border
set for [i=1:6] paxis i range [0:100]
set for [i=1:6] paxis i label sprintf("Score %d",i)
set paxis 1 tics
set grid spider lt black lw 0.2

set datafile sep '|'

plot for [row=1:6] 'orgplot.dat' using 2 every 1::row::row lt 1, newspiderplot, \
     for [row=1:6] 'orgplot.dat' using 3 every 1::row::row lt 2, newspiderplot, \
     for [row=1:6] 'orgplot.dat' using 4 every 1::row::row lt 3

基于 Ethan's 答案,org-plot 创建了一个临时文件,可以在 gnuplot 脚本中引用为 $datafilesep 不是必需的(因为它是在导出时设置的)并且可能需要设置 png 选项...

set spiderplot
set style spiderplot fillstyle transparent solid 0.30 border
set for [i=1:6] paxis i range [0:100]
set for [i=1:6] paxis i label sprintf("Score %d",i)
set paxis 1 tics
set grid spider lt black lw 0.2

set terminal png notransparent truecolor enhanced large

plot for [row=1:6] '$datafile' using 1 every 1::row::row lt 0, newspiderplot, \
     for [row=1:6] '$datafile' using 2 every 1::row::row lt 1, newspiderplot, \
     for [row=1:6] '$datafile' using 3 every 1::row::row lt 2