PrimeFaces - Datumsanzeige anpassen

Ich benutze PrimeFaces 3.4.1, um ein Zeitdiagramm zu zeichnen (Datum auf der x-Achse, Int-Wert auf der y-Achse).

Im Moment habe ich so etwas:

xhtml:

<p:lineChart id="timeChart" value="#{myGraphBean.model}" legendPosition="e" title="Time Chart" minY="0" maxY="25" style="height:300px"/>

Java-Bohne:

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);
}

Meine Bean erzeugt also für jeden Tag einen zufälligen int-Wert. (Meine Anwendung erzeugt tatsächliche Datenpunkte. Dies ist nur ein Dummy-Beispiel.)

In meiner Anwendung generiere ich Daten über einen langen Zeitraum von beispielsweise 6 Monaten. So wie ich es jetzt mache, bekomme ich schreckliche Grafiken:

Was ich gerne machen würde:

Ich möchte meinen Datenpunkt behalten, aber nur ein Häkchen anzeigen, sagen wir jeden Monat.

Ich habe versucht, das Häkchen auf der x-Achse zu ändern, nachdem ich ein paar andere Posts geschrieben habe (ex1, ex2) aber ich konnte es nicht zum Laufen bringen.

Mit dem Primefaces Extender habe ich versucht, Dinge wie zu verwendentickInterval: '1 month', Einstellen dermin Attribute, aber nichts hat funktioniert. In den meisten Fällen würde es nur das Diagramm brechen

Fragen:

Im jqPlot-Dokument heißt es "Hinweis: Obwohl jqPlot die meisten von Menschen lesbaren Datumsangaben analysiert, ist es am sichersten, wenn möglich JavaScript-Zeitstempel zu verwenden. Außerdem ist es am besten, ein Datum und eine Uhrzeit anzugeben und nicht nur ein Datum allein. Dies liegt an der inkonsistenten Browser-Verarbeitung von Ortszeit und UTC mit leeren Daten."Soll ich in meinem Graph Bean die Serie mit einem formatierten Datum (String) nach dem JavaScript-Zeitstempel (" jjjj-MM-tt h: mma ") oder direkt mit einem java.util.Date füllen?

Wie kann ich das x-Achsen-Häkchen ändern (zum Beispiel 1 Monat), indem ich nur jeden Monat einen Marker habe, aber die Grafik trotzdem alle Tagespunkte durchläuft (dh ich möchte die Punkte nicht über den Monat mitteln )?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage