ThiagoN Posted January 30, 2018 at 03:36 AM Report #609145 Posted January 30, 2018 at 03:36 AM bom dia estou com dificuldade para mudar a cor da barra do grafico JfreeChart. exemplo: se o valor de "X" for maior que 900 ( a barra fica em vermelho), e se o valor de "X" for menor que 900 (a barra fica em verde) . alguém consegue me ajudar com algum exemplo? obrigado
apocsantos Posted January 30, 2018 at 09:24 AM Report #609146 Posted January 30, 2018 at 09:24 AM Bom dia, Tens de criar tantas barras, quantas esperas ter no gráfico e definir as cores aqui public class CustomHorizontalBarChartRenderer extends BarRenderer { public java.awt.Paint getItemPaint(int row,int column) { Color color; if(column == 0) color = new Color(243,203,150); else if(column == 1) color = new Color(237,177,98); else if(column == 2) color = new Color(231,151,45); else if(column == 3) color = new Color(162,150,85); else color = new Color(0,0,0); return color; } Depois chamas o método para pintar o gráfico: plot.setRenderer( new CustomHorizontalBarChartRenderer()); Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
ThiagoN Posted January 30, 2018 at 11:45 PM Author Report #609167 Posted January 30, 2018 at 11:45 PM (edited) 14 horas atrás, apocsantos disse: Bom dia, Tens de criar tantas barras, quantas esperas ter no gráfico e definir as cores aqui public class CustomHorizontalBarChartRenderer extends BarRenderer { public java.awt.Paint getItemPaint(int row,int column) { Color color; if(column == 0) color = new Color(243,203,150); else if(column == 1) color = new Color(237,177,98); else if(column == 2) color = new Color(231,151,45); else if(column == 3) color = new Color(162,150,85); else color = new Color(0,0,0); return color; } Depois chamas o método para pintar o gráfico: plot.setRenderer( new CustomHorizontalBarChartRenderer()); Cordiais cumprimentos, Apocsantos Edited January 30, 2018 at 11:47 PM by ThiagoN erro
ThiagoN Posted January 30, 2018 at 11:50 PM Author Report #609168 Posted January 30, 2018 at 11:50 PM boa noite tetei aplicar e não consegui.. esse é meu codico. tenho uma classe de utilitario com o nome GraficoBarras. com o cod. public GraficoBarras(String chartTitle, int x, int y, List<String> estacoes, List<String> erros) { super(chartTitle); this.estacoes = estacoes; this.erros = erros; //criando tipo de grafico JFreeChart chart = ChartFactory.createBarChart( chartTitle, "", "", createDataset(), PlotOrientation.VERTICAL,//legenda false, true, true); //Cor da barra do Charts // chart.getCategoryPlot().getRenderer(0).setSeriesPaint(0, Color.red); //Cor de Fundo de tela do Charts chart.setBackgroundPaint(Color.white); CategoryPlot plot = chart.getCategoryPlot(); //Cor de Fundo do Chrats plot.setBackgroundPaint(Color.white); // colocando o gráfico em um painel this.chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(x, y)); // colocando valores no gráfico CategoryItemRenderer itemRerender = plot.getRenderer(); itemRerender.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", new DecimalFormat("0"))); itemRerender.setItemLabelsVisible(true); BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer(); renderer.setMaximumBarWidth(0.03); //seta a largura da barra } e tenho um Frame com o nome de GraficoHora com o cod, public void graficoHora(){ List<Upm> erroH = UpmDAO.getInstance().findAll(); /******************* criação do gráfico *********************/ List<String> hora = new ArrayList(); List<String> upm = new ArrayList(); for (int i = 0; i < erroH.size(); i++) { hora.add(erroH.get(i).getHorasG()); upm.add(Integer.toString(erroH.get(i).getUpm())); } GraficoBarras grafico = new GraficoBarras("UPM / Hora", 500, 270, hora, upm); pnlGrafico1.removeAll(); pnlGrafico1.add(grafico.chartPanel, BorderLayout.CENTER); pnlGrafico1.revalidate(); pnlGrafico1.repaint(); /******************* criação do gráfico *********************/ } ma não consegui aplicar o cod para mudar a cor pelo valor da coluna
ThiagoN Posted February 2, 2018 at 03:50 AM Author Report #609196 Posted February 2, 2018 at 03:50 AM Em 30/01/2018 às 21:45, ThiagoN disse: tentei aplicar mais não consegui.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now