2012-12-20 3 views
4

저는 Java와 JavaFX를 처음 사용합니다. JavaFx LineChart를 사용하여 실시간 데이터를 표시하는 동적 그래프를 작성하려고합니다.JavaFx - 프로그래밍 방식으로 LineChart 시리즈 색상 설정

오라클 워드 프로세서 http://docs.oracle.com/javafx/2/charts/css-styles.htm#CIHGIAGE에서 CSS를 사용하여 차트 스타일을 지정할 수 있습니다.

프로그래밍 방식으로 색상을 변경할 수 있습니까? 도와주세요. 의

public Node addLineChart(){ 

    //final NumberAxis yAxis = new NumberAxis(-80,60,20); 
    final NumberAxis yAxis; 
    final CategoryAxis xAxis; 

    if(firingOrderSelectionIndex >= 0){ 
     String selectedFiringOrder = firingOrders[cylselectionIndex][firingOrderSelectionIndex]; 
     String[] currentFiringOrder = selectedFiringOrder.split("-"); 

     xAxis = new CategoryAxis(FXCollections.observableArrayList(currentFiringOrder));    
     xAxis.setAutoRanging(false); 



     if(selectionIndex > 1){ 
      yAxis = new NumberAxis(-60,40,20); 
     }else{ 
      yAxis = new NumberAxis(-75,50,15); 
     }    
    }else{ 
     xAxis = new CategoryAxis(); 
     yAxis = new NumberAxis(0,0,0);   
    } 

    xAxis.setLabel("Order"); 
    xAxis.setStyle("-fx-font-size: 14;-fx-font-weight: bolder;"); 
    //xAxis.setAutoRanging(false); //If you are manually setting values in the constructor you can do this. 
    //otherwise if this is done, the graph will crash. So, while using constructor with no values leave this config as default. 


    //xAxis.setLowerBound(1);   
    //xAxis.setUpperBound(4); 
    //xAxis.setTickUnit(1); 


    yAxis.setMinorTickVisible(false); 

    final LineChart<String,Number> lineChart = new LineChart<String,Number>(xAxis,yAxis); 
    lineChart.setTitle("Graph"); 
    lineChart.setLegendVisible(false); 
    lineChart.setStyle(".default-color0.chart-series-line { -fx-stroke: #f0e68c; }"); 

    //series.setName("Live"); 
    series.getData().add(new XYChart.Data("1", 5)); 
    series.getData().add(new XYChart.Data("2", 5)); 

    lineChart.getData().add(series);  
    xAxis.setVisible(false); 



    return lineChart; 
} 
+0

가능한 중복 [동적으로 자바 FX 2.0 선 차트 선 스타일을 변경하는 방법?] (http://stackoverflow.com/questions/9757848/how-to-dynamically-change-line-style -in-javafx-2-0-line-chart) – jewelsea

답변

0
chart.setStyle(".default-color0.chart-series-line { -fx-stroke: #e9967a; }"); 
+0

고마워요, 감사합니다. – user1724114

+1

이제 코드 세그먼트를 추가했습니다. 하지만이 효과가 나타나지 않습니다. 시리즈의 색상은 여전히 ​​기본 색상입니다. 나는 또한 jewelsea가 제안한 것을 살펴보고있다. 초보자에게는 조금 복잡해 보입니다. 나는 같은 것을 잘 이해하려고 노력하고있다. – user1724114

+0

예, 이것은 나에게도 도움이되지 않습니다. – Jason

관련 문제