estilização de barchart no javafx

29/05/2020

3

Sou novo aqui, peço desculpas se tiver publicado com algum erro de tópico ou algo do tipo.
Galera, to com um dúvida, eu tenho um barchart em java e gostaria de mudar a cor das barras em específico mas não consigo de jeito nenhum, segue meu código:
public class GraficoPacienteCidade {

    TelaPrincipalDao dao = new TelaPrincipalDao();

    public void construirGrafico(String titulos[]) {
        //-------------INICIANDO METODO DO GRAFICO---------------//
        //Definindo as axes( eixo X e Y do gráfico)              
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setCategories(FXCollections.<String>observableArrayList(dao.listaCidades()));
        xAxis.setLabel(titulos[0]);

        NumberAxis yAxis = new NumberAxis();
        yAxis.setLabel(titulos[1]);

        //Criando o Bar chart
        BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);//atribuindo o tipo de informação para cada eixo
        barChart.setTitle(titulos[2]);//Setando o título do barchart
        barChart.setPrefSize(1000, 500);//definindo o tamanho do barchart

        Long limite = dao.contadorCidade();//uma variavél que armazena o número máximo de cidades cadastradas

        int numPacienteCidade[] = dao.preencherPaciente();//uma lista qeu armazena o 

        //Preparando XYChart.Series objects para setar os valores       
        XYChart.Series<String, Number> series1 = new XYChart.Series<>();
        series1.setName("Valor");
        
        for (int idContador = 0; idContador < limite; idContador++) {
            series1.getData().add(new XYChart.Data<>(String.valueOf(dao.listaCidades().get(idContador)), numPacienteCidade[idContador]));
        }

        //Setando os valores no bar chart       
        barChart.getData().addAll(series1);
        barChart.setStyle("");

        //Criando o grupo object 
        Group root = new Group(barChart);

        Stage stage = new Stage();
        //Criando a cena object
        Scene scene = new Scene(root, 1000, 500);

        //Setando um título no palco
        stage.setTitle("Gráfico - Número de Pacientes por Cidade");

        //Adicionando a cena ao palco
        stage.setScene(scene);

        //Exibindo o conteúdo do palco
        stage.show();
    }
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar