2016-07-08 2 views
1

Я использую следующий GNUPLOT скрипт для того, чтобы построить массив данных, состоящий из 400 линийЛучший подход визуализации для построения набора данных, когда есть большая разница между значениями (GNUPLOT)

set title "Learning time for the proposed approachs (Freebase)" 
set term png 
set boxwidth 3 
set style fill solid 

set output "dbpedia.png" 

set ylabel "Learning time (seconds)" 
set xlabel "increasing size of the training dataset" 
set xtics font ", 9" 
set grid 

everyfifth(col) = (int(column(col))%10 ==0)?stringcolumn(1):"" 
plot for [col=2:4] "dbpedia_duration.txt" every 10 using col:xticlabels(everyfifth(0)) with lines lw 2 title columnheader 

Sample Набор данных

size DDS-rand DDS-ambig DDS-ambig-NN 
10 0.003 0.01 0.046 
20 0.004 0.423 2.094 
30 0.004 1.768 9.262 
40 0.004 5.933 30.649 
50 0.003 0.586 2.871 
60 0.007 2.282 14.226 
70 0.005 0.512 2.707 
80 0.007 0.089 0.468 
90 0.006 4.61 24.471 
100 0.006 3.013 16.411 
110 0.006 1.578 8.244 
120 0.006 1.194 6.418 
130 0.008 2.401 12.398 
140 0.008 0.014 0.027 
150 0.007 0.284 1.541 
160 0.009 1.25 7.598 
170 0.012 2.027 11.149 

enter image description here


Проблема и вопросы

Как вы можете видеть, существует большая разница между синей кривой на одной стороне и красными и зелеными кривыми на другой стороне. Трудно видеть другие кривые на черно-белой бумаге.

Есть ли лучший способ построить этот набор данных? Это очень раздражает, потому что мы едва можем видеть красные и зеленые кривые.


обновление

если мы будем использовать множество logscale у как предложено @Daniel мы получаем четкий график.

enter image description here

ответ

2

Стандартный подход был бы построить ось у логарифмически, таким образом, что тики для 0,001, 0,01, 0,1, 1, 10, ... находятся на одинаковом расстоянии.

set logscale y 

Примечание: это не работает, если ваш набор данных содержит значения, равные нулю. В этом случае, вы можете использовать

plot 'data.txt' using 1:($2>0? $2 : 1/0) 

пропустить значения с у == ноль (1/0 = не определено, что будет пропущено Gnuplot). Отрегулируйте номера столбцов для x и y для вашего файла данных.

+0

Я говорю @ Daniel. Все изменилось. Пожалуйста, позвольте мне показать вам результаты –

+0

Просто добавьте рис в исходный вопрос. Остаются проблемы? – Daniel

+0

О да, простите, извините. Как я могу нарисовать треугольные и круговые знаки на кривых? –

Смежные вопросы