hi , anybody can tell me , how i change default names of the Vertical 3d bars and your categories ?
I´need a simple method to do this job ....
my source :
public class teste extends Applet implements JFreeChartConstants {
public void init (){
setLayout(new BorderLayout());
VerticalBarRenderer x = new VerticalBarRenderer();
CategoryDataset data = createCategoryDataset();
JFreeChart chart = ChartFactory.createVerticalBarChart3D("Gráfico Vertical","Categorias","Valores",data,true);
chart.setBackgroundPaint(new GradientPaint(0, 0, getColor( 0 ),1000,0,getColor(2)));
chart.setAntiAlias(true);
float f = 1.34f;
chart.setBackgroundImageAlpha(f);
/*Define o range de espaços entre os beans*/
CategoryPlot cp = (CategoryPlot)chart.getPlot();
NumberAxis na = (NumberAxis) cp.getRangeAxis();
na.setTickUnit(new NumberTickUnit(1.0, new java.text.DecimalFormat("###'%'")));
na.setAutoRangeIncludesZero(true);
na.setUpperMargin(0.2);
/*fim */
/*Criando Legenda*/
Legend le = Legend.createInstance(chart);
chart.setLegend(le);
CategoryPlot plot = chart.getCategoryPlot();
java.util.List legend = plot.getLegendItemLabels();
legend.set(0, "hi there!"); //Does not change the legend's text?!
CategoryItemRenderer renderer = plot.getRenderer();
ChartPanel chartPanel = new ChartPanel(chart);
add(chartPanel);
}
public teste(){
}
public void paint(Graphics g){
}
public static void main (String args[]){
teste x = new teste();
x.init();
x.start();
x.setSize(600,400);
}
public CategoryDataset createCategoryDataset() {
Number[][] data = new Integer[][] {
{ new Integer(10), new Integer(4), new Integer(15), new Integer(14),new Integer(5) },
{ new Integer(5), new Integer(7), new Integer(14), new Integer(3) ,new Integer(5) },
{ new Integer(6), new Integer(17),new Integer(12), new Integer(7) ,new Integer(5) },
{ new Integer(7), new Integer(15),new Integer(11), new Integer(0) ,new Integer(5) },
{ new Integer(8), new Integer(6), new Integer(10), new Integer(9) ,new Integer(5) },
{ new Integer(9), new Integer(8), new Integer(8), new Integer(6) ,new Integer(5) },
{ new Integer(10), new Integer(9), new Integer(7), new Integer(7) ,new Integer(5)},
{ new Integer(11), new Integer(13),new Integer(9), new Integer(9) ,new Integer(5) },
{ new Integer(0), new Integer(0), new Integer(0), new Integer(0) ,new Integer(5)},
{ new Integer(6), new Integer(6), new Integer(6), new Integer(6) ,new Integer(5)}
};
return new DefaultCategoryDataset(data);
}
public void start(){}
public void stop(){}
protected Color getColor(int color) {
switch (color % 11) {
case 0: return Color.white;
case 1: return Color.black;
case 2: return Color.blue;
case 3: return Color.green;
case 4: return Color.red;
case 5: return Color.yellow;
case 6: return Color.gray;
case 7 : return Color.orange;
case 8: return Color.cyan;
case 9: return Color.magenta;
case 10: return Color.pink;
default: return Color.white;
}
}
}
thank you !
[]´s Brossi
I need a simple exemple of how i can change Legend´s Label
Re: I need a simple exemple of how i can change Legend´s Lab
You need to supply series and category names in your dataset. Take a look at the Javadocs (or source code) for DefaultCategoryDataset and use the constructor that allows you to specify your own names...
Regards,
DG.
Regards,
DG.