Tworzenie preostych wykresów.

0

Tworze serwlet, jsp + html. Mam już 3 tablece z danymi teraz chce po prostu wpuścić to w jakąś gotową klase, żeby w efekcie zyskać wykres. Niech mi ktoś podrzuci jakiś prosty przykład, starałem sie użyć "jfreechart" ale jest to dla mnie skomplikowane. Prosił bym o wyjaśnienie tworzenie albo niech ktoś poleci dobrego tutka :)

0

Jfreechart jest przecież dosyć łatwy w obsłudze i w internecie na oficjalnej stronie fajne przykłady znajdziesz.

Jeśli robisz proste wykresy to ja bym nawet sam sobie to napisał i miał to co potrzebuję, a nie głowił się jak zrobić coś prostego wśród setek niepotrzebnych mi rozbudowanych opcji.

Wykresy słupkowe - prościzna
Wykresy kołowe - tak samo, w podstawówce się na kartce to samemu robiło.
Wykresy liniowe też nic specjalnie trudnego. Bierzesz komponent tłumaczysz współrzędne tylko na układ kartezjański i gotowe.

0

Rzeczywiście dość prosto to wyglada dajmy na przykład coś takiego:

public class PieChartExample {
	public static void main(String arg[]){
		//Dane do wykresu 3d
		XYSeries series = new XYSeries("XYGraph");
		series.add(1, 1);
		series.add(1, 2);
		series.add(2, 4);
		series.add(3, 4);
		series.add(4, 2);
		series.add(5, 9);
		series.add(6, 10);
		XYSeriesCollection dataset = new XYSeriesCollection();
		dataset.addSeries(series);
		//Tworzymy wykres XY
		JFreeChart chart = ChartFactory.createXYLineChart(
			"Wykres XY",//Tytuł
			"x- Lable", // x-axis Opis
			"y- Lable", // y-axis Opis
			dataset, // Dane
			PlotOrientation.VERTICAL, // Orjentacja wykresu /HORIZONTAL
			true, // pozkaż legende
			true, // podpowiedzi tooltips
			false
		);
 
		//Dodanie wykresu do okna
		ChartFrame frame1=new ChartFrame("XYArea Chart",chart);
		frame1.setVisible(true);
		frame1.setSize(500,400);
	}
}
}

To teraz kwestia jak to wyświetlić w na stronie .html przez plik.jsp ? Jedyne co mi przychodzi do głowy to żeby zapisać wyjściowy wykres jako np. .png a potem sobie w kodzie htlm'owym wyświetlić obraz. Jakieś inne sposoby ?

0

ChartFrame dziedziczy po JFrame (ale masz też ChartPanel), więc w jsp nic z tym nie zrobisz, ale spokojnie przenieść możesz to na kontrolce z jsp pokazać.

0

Nie rozumiem drugiej części, co przenieść na kontrolce (miałem w planie zapisać obraz wynikowy a potem oddzielnie wczytać go w .jsp przez "input img....") ale chyba masz coś innego na myśli :) to weź podpowiedz jak to zrobić najbardzej profesjonalnie :)

0

http://javabeanz.wordpress.com/2007/07/10/displaying-dynamic-charts-in-a-jsp-page-jfreechart/

Bierzesz se generujesz obrazek /tmp/obrazek1.png
Do JSP przekazujesz samą nazwę na zasadzie:
<img href="obrazek.servlet?v=obrazek1.png"/>
Przepisujesz kawalek kodu z linka modyfikując go tak by pobierał parametr z nazwą obrazka i grzebał po twojej ścieżce.

Jak to działa w praktyce? W momencie wysłania żądania do serwera generowany jest obrazek, a jego identyfikator jest wysyłany w htmlu. Przeglądarka zaczyna pobierać obrazek, ale nie bezpośrednio, ale przez odpowiedni servlet, który wygrzebuje tenże obrazek na podstawie ID.

1 użytkowników online, w tym zalogowanych: 0, gości: 1