2015-04-28 6 views
-1

У меня есть файл, какJavaPlot временных меток не работает

1429520881 15.0 
1429520882 3.0 
1429520883 340.0 

и я пытаюсь использовать его в JavaPlot

JavaPlot plot=new JavaPlot(); 
GenericDataSet dataset=new GenericDataSet(); 
filling dataset with data 
... 
plot.set("xdata","time"); 
plot.set("timefmt","'%s'"); 
plot.set("format x","'%H:%M:%S'"); 
plot.plot(); 

в окне результата GNUPLOT в не появляюсь, но если я попробовать этот файл непосредственно в gnuplot с теми же данными и параметрами, что он показывает мне время на xAxis; Если в JavaPlot я удаляю последние настройки (xdata, timefmt, format), он работает, но он показывает мне только числа

Я также попытался создать ручной набор данных с данными в программе, но тот же результат.

Я также реализовать новый набор данных с датой, как String, но, кажется, что XData, опция время не работает

ответ

0

Он генерирует временный файл сценария с данными внутри в странном порядке из-за ParametersHolder наследует HashMap и должно быть " используя «keyword after» - « , например: Я написал LinkedParams, расширяет класс GNUPlotParameters с помощью внутренних LinkedMap и переопределяет методы для использования внутренней структуры;

set ... ...(xrange,yrange etc) 
set xdata time 
set timefmt '%s' 
set format x '%H:%M:%S' 
plot '-' using 1:2 title 'ololo' with linesploints lineType 2 lineWidth 3 
1429520881 15.0 
1429520882 3.0 
1429520883 340.0 
e 
quit 

но это было

set xdata time 
set ... ...(xrange,yrange etc) 
set format x '%H:%M:%S' 
set timefmt '%s' 
plot '-' title 'ololo' with linesploints lineType 2 lineWidth 3 
1429520881 15.0 
1429520882 3.0 
1429520883 340.0 
e 
quit 
+0

Что делать, если внутренние свойства сохранялись в упорядоченном списке? Поможет ли это решить эту проблему? – Panayotis

+0

@Panayotis Я считаю, что это правильно. К сожалению, порядок настроек для Gnuplot очень важен. Я также написал расширенные GNUPlotParameters, и когда 'entrySet()', 'put()' и 'remove' переопределены для использования внутреннего' LinkedHashMap', порядок команд остается неизменным. К сожалению, 'PropertiesHolder' наследует от' HashMap', что плохой дизайн imho. – kap

+0

Вот почему я спрашиваю. Если он изменен на LinkedHashMap? Сцена была слишком старой, чтобы судить :) – Panayotis

1

Потребовалось навсегда понять это. Я обнаружил, что, если у вас есть объект DataSetPlot вы можете установить опцию «с помощью»:

DataSetPlot dataSet = new DataSetPlot(values); 
dataSet.set("using", "1:2"); 

Это будет сделать использование «используя» опции для команды сюжета, например:

plot '-' using 1:2 title 'Success' with lines linetype rgb 'green' 

Вы должны использовать опцию «использование», используя время для оси x, в противном случае вы увидите эту ошибку:

Need full using spec for x time data

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