Olá pessoal!
gostaria, por gentilieza, que alguem me indicasse uma classe do java que trata de graficos (de linhas ou de barras).
flows
Olá pessoal!
gostaria, por gentilieza, que alguem me indicasse uma classe do java que trata de graficos (de linhas ou de barras).
flows
Graphics? Graphics2D?
Use a API JFreeChart.
Procure por JFreeChart
Cara qual tipo de grafico vc vai usar?
gannt, bar, pizza?
eu uso o Gannt com JfreeChart
abraço
Olá pessoal!gostaria, por gentilieza, que alguem me indicasse uma classe do java que trata de graficos (de linhas ou de barras).
flows
JFreeChart
http://www.jfree.org/jfreechart/
Barras
pega esse exemplo
usando o JfreeChart
package demo;
import java.awt.*;
import java.text.NumberFormat;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.annotations.CategoryTextAnnotation;
import org.jfree.chart.axis.CategoryAnchor;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.*;
public class BarChart3DDemo4 extends ApplicationFrame
{
static class CustomBarRenderer3D extends BarRenderer3D
{
public Paint getItemPaint(int i, int j)
{
CategoryDataset categorydataset = getPlot().getDataset();
double d = categorydataset.getValue(i, j).doubleValue();
if(d >= 0.69999999999999996D)
{
return Color.green;
} else
{
return Color.red;
}
}
public CustomBarRenderer3D()
{
}
}
public BarChart3DDemo4(String s)
{
super(s);
CategoryDataset categorydataset = createDataset();
JFreeChart jfreechart = createChart(categorydataset);
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartpanel);
}
private static CategoryDataset createDataset()
{
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(0.77000000000000002D, "Series 1", "Robert");
defaultcategorydataset.addValue(0.93000000000000005D, "Series 1", "Mary");
defaultcategorydataset.addValue(0.58999999999999997D, "Series 1", "John");
defaultcategorydataset.addValue(0.75D, "Series 1", "Ellen");
defaultcategorydataset.addValue(0.63D, "Series 1", "Jack");
defaultcategorydataset.addValue(0.94999999999999996D, "Series 1", "David");
defaultcategorydataset.addValue(0.70999999999999996D, "Series 1", "Mark");
defaultcategorydataset.addValue(0.65000000000000002D, "Series 1", "Andy");
return defaultcategorydataset;
}
private static JFreeChart createChart(CategoryDataset categorydataset)
{
JFreeChart jfreechart = ChartFactory.createBarChart3D("Student Grades", "Students", "Grade", categorydataset, PlotOrientation.VERTICAL, false, true, false);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
CustomBarRenderer3D custombarrenderer3d = new CustomBarRenderer3D();
categoryplot.setRenderer(custombarrenderer3d);
ValueMarker valuemarker = new ValueMarker(0.69999999999999996D, new Color(200, 200, 255), new BasicStroke(1.0F), new Color(200, 200, 255), new BasicStroke(1.0F), 1.0F);
categoryplot.addRangeMarker(valuemarker, Layer.BACKGROUND);
custombarrenderer3d.setItemLabelsVisible(true);
custombarrenderer3d.setMaximumBarWidth(0.050000000000000003D);
CategoryTextAnnotation categorytextannotation = new CategoryTextAnnotation("Minimum grade to pass", "Robert", 0.70999999999999996D);
categorytextannotation.setCategoryAnchor(CategoryAnchor.START);
categorytextannotation.setFont(new Font("SansSerif", 0, 12));
categorytextannotation.setTextAnchor(TextAnchor.BOTTOM_LEFT);
categoryplot.addAnnotation(categorytextannotation);
NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
return jfreechart;
}
public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}
public static void main(String args[])
{
BarChart3DDemo4 barchart3ddemo4 = new BarChart3DDemo4("3D Bar Chart Demo 4");
barchart3ddemo4.pack();
RefineryUtilities.centerFrameOnScreen(barchart3ddemo4);
barchart3ddemo4.setVisible(true);
}
}
ae pessoal!
obrigado pela força.
flows
O pessoal aqui parece gostar de fazer volume e aumentar o número de mensagens próprias. Foram 4 mensagens a mais dizendo a mesma coisa.