PrimeFaces - настроить график даты
Я использую PrimeFaces 3.4.1 для построения графика времени (Дата на оси X, значение int на оси Y).
На данный момент у меня что-то подобное:
XHTML:
Java-бин:
private final static int MAX_VALUE = 20;
private final static int NUMBER_OF_POINTS = 20;
private final static DateFormat dateFormat = new SimpleDateFormat("dd-MM-yy");
private void createLinearModel() {
model = new CartesianChartModel();
Calendar day = Calendar.getInstance();
day.set(Calendar.HOUR_OF_DAY, 0);
day.set(Calendar.MINUTE, 0);
day.set(Calendar.SECOND, 0);
day.set(Calendar.MILLISECOND, 0);
LineChartSeries series = new LineChartSeries();
series.setLabel("My series");
for (int i = 0; i < NUMBER_OF_POINTS; i++) {
series.set(dateFormat.format(day.getTime()), getRandomValue());
day.add(Calendar.DAY_OF_MONTH, 1);
}
model.addSeries(series);
}
private int getRandomValue() {
return rand.nextInt(MAX_VALUE);
}
Так что мой бин просто создает случайное значение int для каждого дня. (Мое приложение выдает фактические данные, это всего лишь фиктивный пример)
В моем приложении я генерирую данные в течение длительного времени, например, 6 месяцев. С тем, как я сейчас поступаю, я получаю ужасные графики, подобные этим:
Что я хотел бы сделать: я
Я хотел бы иметь возможность сохранять мои данные, но отображать только галочку,говорят каждый месяц.
Я попытался изменить галочку на оси абсцисс после нескольких других сообщений (EX1,ех2) но я не могне заставить это работать.
Используя расширитель простых лиц, я попытался использовать такие вещи, какtickInterval: '1 month'
, установивmin
атрибуты, но ничего не работает. В большинстве случаев это просто сломало бы график
Вопросы:
В документе JQPlot это говорит:Обратите внимание, что хотя jqPlot будет анализировать практически любую удобочитаемую человеком дату, наиболее безопасно использовать метки времени javascript, когда это возможно. Кроме того, лучше всего указать дату и время, а не только одну дату. Это связано с непоследовательной обработкой браузером местного времени по сравнению с UTC с голыми датами. " В моем графическом компоненте я должен заполнить серию, используя форматированную дату (String) после метки времени javascript ("гггг-мм-дд ч: мма ") или используя java.util.Date напрямую?
Как я могу изменить тик оси X (для let 'скажем, 1 месяц), имея маркер только каждый месяц, но все еще имеет график, проходящий через все дневные точки (т.е. я нене хотите усреднить мои баллы за месяц)?