JFreeChart on Web - java

First, I am a final year student. We are creating a KPI and we saw JFree chart can be used to display charts. Now we have a problem about deciding whether the software is web based or not (Major votes came for a Desktop application. Only 1 is there for web based solution. ).
However, this what we have to do;
Display data using Charts
Colors of the areas of the chart MUST change during run time (eg: if < 90% attendance 'RED', if > 90% attendance 'GREEN')
When the user clicks on the particular area of the chart, display all the relevant data as a 'Tool Tip Text Box' or something. When mouse over, display some summary.
There will be 6 KPI's in the dashboard.
KPI's are belong to 2 categories, HR and PROJECTS.
Now my question is, what is the easy way of doing it? Web Based or Desktop? Will JFreeChart support these functions when it is in web? Please help!

First the long answer, then the short one. If you are using JFreeChart on the web, you have two options:
Display the charts in an applet, which will allow you to do basically all the stuff that JFreeChart supports, including the ones you mentioned above.
Use JFreeChart on the server side to generate images that will be served by the server. In this case, #2 will be difficult because you will have to refresh pages, #3 will be very hard or even almost impossible
Given the above, the short answer is: I suggest you build a desktop application, it will be easier to deal with charting.

From my experience is better use a Javascript Library to generate a gantt chart and later integrate with any framework Java Web. You could use some libraries for example:
Twproject Gantt
JQuery Gantt
JSGantt Improved
JQuery.Gantt
Finally There is an option with cost: Daylot Gantt

If you want to use JFreechart It can be used to render an image and post it on the page, you also could use some form of jquery based chart ploting. Either way you would have to take control of refreshing the data. In standalone app it might be somewhat easier.

you can use these JFreeCharts the requirements you have specified.
JFree charts will display the charts as images. But there are some methods which will display the tooltips and the summary, You have to implement those methods based on your requirements.

Related

How to show data graphically in Java?

I am developing an application in Java. I got a requirement to show data in graphical form.
In ASP.NET we can use Chart Controls to show data graphically. Likewise, how can we show the data graphically in Java. I am using Eclipse Ganymede. How to show data graphically from a database.
There are many such libraries, some of them listed in various SO posts such as JAVA Library for charts- JFreeChart?.
I personally used Gral to draw some simple plots, it was perfect for my purposes. There are some examples of the look and feel on their web site.
There are several free java apis available to show data graphically in the form of charts like: For Java standalone application you can use jFreeChart
http://www.jfree.org/jfreechart/devguide.html
for java web application you can use highcharts(for non-comercial use)
http://www.highcharts.com/

Let users edit series in JFreeChart XY plots

I'm using JFreeChart to make some graphs in a Java application. I'm trying to figure out how to let the user edit the series paint/stroke. In the Chart Properties window there's a spot for this, but it just says "No editor implemented". Is there a way through the API to provide JFreeChart with an editor for these properties, or do I have to implement one totally separately from the Chart Properties editing window?
Support for this is described as "incomplete" in org.jfree.chart.editor. As a start, you can look in DefaultChartEditor to see how the "BackgroundPaint" command is handled. You may be able to use ChartEditorManager to specify a ChartEditorFactory that uses your custom ChartEditor; you may also want to check out a copy of the development branch, cited here, using svn.

Java Hdd graphical representation

Hi I'm working on a hard drive simulation in java and I want to be able to represent fragmentation in any given drive(represented as a series of Objects Hashmaps,Arrays etc) Something like the bars in xp's old fragmentation tool XP toolbar. I was thinking of a bar or pie chart from google i have gleamed that swing may be my best option? Could anyone give any pointers how I might go about this.
I would check out JFreeChart for a potentially huge number of possible renderings. Here's a page with a large number of samples, including code.
JFreeChart is usually the best choice for charting in Swing applications. There are some other open-source libraries as well. See the last question on this page.
However, if you need some custom features, you may need to do some custom rendering in Graphics2D.
JFreeChart might be a solution for bar or piecharts, but If you just need a simple stacked bar, I would indeed recommend overwriting a JLabel from the swing library. That will be very easy.
If you need some more graphs and plots and stuff anyway, definitely have a look at JFreeChart, it's great.

Javascript Timeline Visualisation

I am planning to collect some data on the execution of requests within a Java Tomcat container. Each request is fulfilled by data retreived by multiple threads and I want to display this execution with a graphic similar to the Google App Engine App Stats tool:
Can anyone suggest a javascript library for drawing this kind of chart? I'm not even sure what the proper name would be for this. Searching for timelines turns up things like http://timeglider.com/jquery/ which seems to do something different.
It looks like a simple timeline with overlapping bars like in a bullet chart. You can see one example here in Protovis. If you know a bit of javascript, you can program one in D3.js, the successor of Protovis. There is a complete example in the demos that come with the download.

Drawing a dynamic graph

I have a web application written with JavaServer Faces technology.
The application takes n inputs and provides an output.
I want the following functionality in my application.
I want to have sliders for each of my inputs.
I want the output to be depicted by a graph.
So whenever I change the input values via a slider I want the changed output value also displayed in the graph
So what will be the best way to do this?
You need two components. One is the slider component which comes with pretty much every component library.
Second one is the chart component I believe comes
with the PrimeFaces component library. All JavaServer Faces component libraries support Ajax so you could give it a shot.
May be you could use the Google Chart API.
In one of my projects we had a similar request.
As we where using richfaces we used those components but for the graph drawing we used jGraph, a small 'open source' library.
We chose jGraph as it was the only (not too expensive) library we found that allowed us to layout automatically a graph. (automatic layout is part of a licensed version, not free)
We used the richfaces mediaoutput component to call our backingbean which used jGraph to render a jpg of our graph.

Categories

Resources