从组织模式表创建蜘蛛图
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 脚本中引用为 $datafile
。 sep
不是必需的(因为它是在导出时设置的)并且可能需要设置 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
使用 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 脚本中引用为 $datafile
。 sep
不是必需的(因为它是在导出时设置的)并且可能需要设置 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