@author David Gilbert modified by Ironlynx with Special Thanks To PMassollier
*/
public class Test extends ApplicationFrame
{
/**
-
Creates a new demo instance.
-
-
@param title the frame title.
*/
public Test(String title)
{
super(title);
JFreeChart chart = createChart(createDataset());
// add the chart to a panel…
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(1000, 750));
setContentPane(chartPanel);
}
/**
-
Starting point for the demonstration application.
-
-
@param args ignored.
*/
public static void main(String[] args) {
Test demo = new Test(“Chart Test”);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
private static CategoryDataset createDataset()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(255.0, “Series 1”, “Empresa 1”);
dataset.addValue(269.0, “Series 1”, “Empresa 2”);
dataset.addValue(278.0, “Series 1”, “Empresa 3”);
dataset.addValue(310.0, “Series 1”, “Empresa 4”);
dataset.addValue(325.0, “Series 1”, “Empresa 5”);
dataset.addValue(346.0, “Series 1”, “Empresa 6”);
dataset.addValue(367.0, “Series 1”, “Empresa 7”);
dataset.addValue(400.0, “Series 1”, “Empresa 8”);
dataset.addValue(400.0, “Series 1”, “Empresa 9”);
dataset.addValue(410.0, “Series 1”, “Empresa 10”);
dataset.addValue(411.0, “Series 1”, “Empresa 11”);
dataset.addValue(413.0, “Series 1”, “Empresa 12”);
dataset.addValue(459.0, “Series 1”, “Empresa 13”);
dataset.addValue(499.0, “Series 1”, “Empresa 14”);
dataset.addValue(530.0, “Series 1”, “Empresa 15”);
dataset.addValue(570.0, “Series 1”, “Empresa 16”);
dataset.addValue(611.0, “Series 1”, “Empresa 17”);
dataset.addValue(620.0, “Series 1”, “Empresa 18”);
dataset.addValue(621.0, “Series 1”, “Empresa 19”);
dataset.addValue(615.0, “Series 1”, “Empresa 20”);
dataset.addValue(631.0, “Series 1”, “Empresa 21”);
dataset.addValue(647.0, “Series 1”, “Empresa 22”);
dataset.addValue(659.0, “Series 1”, “Empresa 23”);
dataset.addValue(713.0, “Series 1”, “Empresa 24”);
dataset.addValue(737.5, “Series 1”, “Empresa 25”);
dataset.addValue(761.0, “Series 1”, “Empresa 26”);
dataset.addValue(767.0, “Series 1”, “Empresa 27”);
dataset.addValue(784.0, “Series 1”, “Empresa 28”);
dataset.addValue(788.0, “Series 1”, “Empresa 29”);
dataset.addValue(789.0, “Series 1”, “Empresa 30”);
dataset.addValue(791.0, “Series 1”, “Empresa 31”);
dataset.addValue(812.0, “Series 1”, “Empresa 32”);
dataset.addValue(815.0, “Series 1”, “Empresa 33”);
dataset.addValue(816.0, “Series 1”, “Empresa 34”);
dataset.addValue(824.0, “Series 1”, “Empresa 35”);
dataset.addValue(844.0, “Series 1”, “Empresa 36”);
dataset.addValue(905.0, "Series 1", "Empresa 37");
dataset.addValue(913.0, "Series 1", "Empresa 38");
dataset.addValue(915.0, "Series 1", "Empresa 39");
dataset.addValue(915.0, "Series 1", "Empresa 40");
dataset.addValue(922.0, "Series 1", "Empresa 41");
dataset.addValue(931.0, "Series 1", "Empresa 42");
dataset.addValue(943.0, "Series 1", "Empresa 43");
dataset.addValue(972.0, "Series 1", "Empresa 44");
dataset.addValue(982.0, "Series 1", "Empresa 45");
dataset.addValue(991.0, "Series 1", "Empresa 46");
dataset.addValue(995.0, "Series 1", "Empresa 47");
dataset.addValue(1019.0, "Series 1", "Empresa 48");
dataset.addValue(1020.0, "Series 1", "Empresa 49");
dataset.addValue(1025.0, "Series 1", "Empresa 50");
dataset.addValue(1029.0, "Series 1", "Empresa 51");
dataset.addValue(1032.0, "Series 1", "Empresa 52");
dataset.addValue(1042.0, "Series 1", "Empresa 53");
dataset.addValue(1043.0, "Series 1", "Empresa 54");
dataset.addValue(1059.0, "Series 1", "Empresa 55");
dataset.addValue(1065.0, "Series 1", "Empresa 56");
dataset.addValue(1072.0, "Series 1", "Empresa 57");
dataset.addValue(1107.0, "Series 1", "Empresa 58");
dataset.addValue(1107.0, "Series 1", "Empresa 59");
dataset.addValue(1111.0, "Series 1", "Empresa 60");
dataset.addValue(1120.0, "Series 1", "Empresa 61");
dataset.addValue(1127.0, "Series 1", "Empresa 62");
dataset.addValue(1129.0, "Series 1", "Empresa 63");
dataset.addValue(1190.0, "Series 1", "Empresa 64");
dataset.addValue(1229.0, "Series 1", "Empresa 65");
dataset.addValue(1239.0, "Series 1", "Empresa 66");
dataset.addValue(1246.0, "Series 1", "Empresa 67");
dataset.addValue(1249.0, "Series 1", "Empresa 68");
dataset.addValue(1258.0, "Series 1", "Empresa 69");
dataset.addValue(1265.0, "Series 1", "Empresa 70");
dataset.addValue(1281.0, "Series 1", "Empresa 71");
dataset.addValue(1890.0, "Series 1", "Empresa 72");
dataset.addValue(3252.0, "Series 1", "Empresa 73");
dataset.addValue(4234.0, "Series 1", "Empresa 74");
dataset.addValue(7019.0, "Series 1", "Empresa 75");
dataset.addValue(28047.0, "Series 1","Empresa 76");
return dataset;
}
private static JFreeChart createChart(CategoryDataset dataSet)
{
CategoryAxis categoryAxis = new CategoryAxis(“Category”);
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
Interval interval = new MyInterval(2000, 3000, 30000, 10);
IntervalBarRenderer renderer = new IntervalBarRenderer( interval );
IntervalAxis valueAxis = new IntervalAxis("Valor", interval);
valueAxis.setRange(0,interval.getMaxComputed());
valueAxis.setTickUnit(new NumberTickUnit(500,new DecimalFormat("0")));
CategoryPlot plot = new CategoryPlot( dataSet, categoryAxis, valueAxis, renderer );
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
Marker marker = new ValueMarker(103.0);
marker.setLabel("1ºQuartil-21 Mediana-103");
marker.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
1.0f, new float[] { 10.0f, 6.0f }, 0.0f));
marker.setLabelFont(new Font("SansSerif", Font.ITALIC, 11));
marker.setLabelAnchor(RectangleAnchor.LEFT);
marker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
marker.setPaint(Color.blue);
plot.addRangeMarker(marker);
Marker marker2 = new ValueMarker(325.0);
marker2.setLabel("3ºQuartil-320");
marker2.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
1.0f, new float[] { 10.0f, 6.0f }, 0.0f));
marker2.setLabelFont(new Font("SansSerif", Font.ITALIC, 11));
marker2.setLabelAnchor(RectangleAnchor.LEFT);
marker2.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
marker2.setPaint(Color.red);
plot.addRangeMarker(marker2);
Marker marker3 = new ValueMarker(522.0);
marker3.setLabel("Mediana do Setor-522");
//marker2.
marker3.setLabelFont(new Font("SansSerif", Font.ITALIC, 11));
marker3.setLabelAnchor(RectangleAnchor.LEFT);
marker3.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
marker3.setPaint(Color.red);
plot.addRangeMarker(marker3);
Marker marker4 = new ValueMarker(769.0);
marker4.setLabel("Cerca Superior-769");
marker4.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
1.0f, new float[] { 10.0f, 6.0f }, 0.0f));
marker4.setLabelFont(new Font("SansSerif", Font.ITALIC, 11));
marker4.setLabelAnchor(RectangleAnchor.LEFT);
marker4.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
marker4.setPaint(Color.PINK);
plot.addRangeMarker(marker4);
CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator("{2}", NumberFormat.getInstance());
renderer.setItemLabelGenerator(generator);
renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 8));
renderer.setItemLabelsVisible(true);
ItemLabelPosition labelPos = new ItemLabelPosition( ItemLabelAnchor.OUTSIDE12,
TextAnchor.BOTTOM_LEFT, TextAnchor.BOTTOM_LEFT, -Math.PI / 2 );
renderer.setSeriesPositiveItemLabelPosition( 0, labelPos );
JFreeChart chart = new JFreeChart( "Participação no mercado", JFreeChart.DEFAULT_TITLE_FONT, plot, true );
chart.setBackgroundPaint(Color.white);
return chart;
}