Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Barchart diagrams in jsp

 
Manikanta Mogalluri
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear All,

I have created the bar charts in standalone applications. But the same thing i have tried to display in jsp.
However it is not showing the output in barchart. Here i have used in both cases jfree chart jar files.
The below one is the code

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ page import="java.awt." %>
<%@ page import="java.io." %>
<%@ page import="org.jfree.chart." %>
<%@ page import="org.jfree.chart.axis." %>
<%@ page import="org.jfree.chart.entity." %>
<%@ page import="org.jfree.chart.labels." %>
<%@ page import="org.jfree.chart.plot." %>
<%@ page import="org.jfree.chart.renderer.category." %>
<%@ page import="org.jfree.chart.urls." %>
<%@ page import="org.jfree.data.category." %>
<%@ page import="org.jfree.data.general.*" %>

<%
final double[][] data = new double[][]{
{210, 300, 320, 265, 299},
{200, 304, 201, 201, 340}
};

final CategoryDataset dataset = DatasetUtilities.createCategoryDataset( "Team ", "", data);

JFreeChart chart = null;
BarRenderer renderer = null;
CategoryPlot plot = null;


final CategoryAxis categoryAxis = new CategoryAxis("Match");
final ValueAxis valueAxis = new NumberAxis("Run");
renderer = new BarRenderer();

plot = new CategoryPlot(dataset, categoryAxis, valueAxis,renderer);

plot.setOrientation(PlotOrientation.VERTICAL);
chart = new JFreeChart("Score Bord", JFreeChart.DEFAULT_TITLE_FONT, plot, true);

chart.setBackgroundPaint(new Color(249, 231, 236));

Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(16, 89, 172), 0.0f, 0.0f, new Color (201, 201, 244));

renderer.setSeriesPaint(1, p1);

Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(255, 35, 35), 0.0f, 0.0f, new Color(255, 180, 180));

renderer.setSeriesPaint(2, p2);

plot.setRenderer(renderer);

try {
final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
final File file1 = new File("barchart.png");
file1.createNewFile();
ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
} catch (Exception e) {
out.println(e);
}
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<!-- meta http-equiv="refresh" content="1" -->
<title>Bar Chart Page</title>
</head>

<body bgcolor="cccccc">

</body>
</html>

Kindly check and let me know if any issues. Please its very urgent.

With Warm Regards,
Manikanta Mogalluri.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
new File("barchart.png");

Never, ever, use relative paths in a web app - they simply don't work. Use an absolute path that points to a publicly accessible directory within the web app, and make sure you create the correct URL to it in the IMG tag.

You might also want to look into better integration of JFreeChart with the web app, such as provided by a tag library like cewolf (see link in my signature).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic