Search in sources :

Example 1 with BarChart

use of javafx.scene.chart.BarChart in project Gargoyle by callakrsos.

the class ScmCommitComposite method load.

public void load() {
    try {
        scmHistoryWalk();
        getBarChartDayOfMonthCategory().setLabel("기간별 커밋 통계");
        getLineChartDayOfWeekCategory().setLabel("요일별 커밋 통계");
        getBarChartDayOfMonthCategory().getCategories().add(SERIES_LABEL);
        getLineChartDayOfWeekCategory().getCategories().add(SERIES_LABEL);
        Color lineColor = Color.GREEN;
        double strokeWidth = 1;
        String cssStyleClassName = ".chart-series-line";
        {
            /*start Desing css.*/
            BarChart<String, Long> barChartDayOfMonth = getBarChartDayOfMonth();
            String style = "-fx-bar-fill: ".concat(FxUtil.toWebString(lineColor)).concat(";");
            for (Node n : barChartDayOfMonth.lookupAll(".default-color0.chart-bar")) {
                n.setStyle(style);
            }
            //				barChartDayOfMonth.setStyle(
            //						".chart-legend-item-syCmbol chart-bar series0 bar-legend-symbol default-color0{- fx-background-color:green;}");
            /*end Desing css.*/
            /*start Popover*/
            //무조건 1개의 시리즈만 처리하므로 인덱스에서 바로 가져옴.
            ObservableList<Data<String, Long>> dataArr = getBarChartDayOfMonth().getData().get(0).getData();
            for (Data<String, Long> d : dataArr) {
                d.getNode().setOnMouseClicked(ev -> {
                    if (ev.getClickCount() == 1 && ev.getButton() == MouseButton.PRIMARY)
                        createPopOver(d);
                });
            }
            barChartDayOfMonth.setMinWidth(BarChart.USE_COMPUTED_SIZE);
            barChartDayOfMonth.requestLayout();
        /*end Popover*/
        }
        {
            LineChart<String, Long> lineChartDayOfWeek = getLineChartDayOfWeek();
            lineChartDayOfWeek.setStyle(".chart-series-line .series0 .default-color0{- fx-background-color:green;}");
            Set<Node> lookupAll = lineChartDayOfWeek.lookupAll(".chart-line-symbol");
            StringBuffer sb = new StringBuffer();
            sb.append("-fx-background-color: " + FxUtil.toRgbString(lineColor) + ", white;");
            sb.append(" -fx-background-insets: 0, 2;");
            sb.append("-fx-background-radius: 5px;");
            sb.append("-fx-padding: 5px;");
            for (Node n : lookupAll) {
                n.setStyle(sb.toString());
            }
            String style = "-fx-stroke: " + FxUtil.toRgbString(lineColor) + "; -fx-stroke-width: " + strokeWidth + ";";
            for (Node seriesLine : lineChartDayOfWeek.lookupAll(cssStyleClassName)) {
                seriesLine.setStyle(style);
            }
        }
    } catch (SVNException e) {
        LOGGER.error(ValueUtil.toString(e));
    }
}
Also used : MouseButton(javafx.scene.input.MouseButton) ListView(javafx.scene.control.ListView) GagoyleDate(com.kyj.fx.voeditor.visual.framework.model.GagoyleDate) MouseEvent(javafx.scene.input.MouseEvent) LoggerFactory(org.slf4j.LoggerFactory) Series(javafx.scene.chart.XYChart.Series) SimpleDateFormat(java.text.SimpleDateFormat) XYChart(javafx.scene.chart.XYChart) LinkedHashMap(java.util.LinkedHashMap) LineChart(javafx.scene.chart.LineChart) ContextMenu(javafx.scene.control.ContextMenu) Map(java.util.Map) FxCollectors(com.kyj.fx.voeditor.visual.util.FxCollectors) Color(javafx.scene.paint.Color) Logger(org.slf4j.Logger) Label(javafx.scene.control.Label) MenuItem(javafx.scene.control.MenuItem) SVNException(org.tmatesoft.svn.core.SVNException) Data(javafx.scene.chart.XYChart.Data) Collection(java.util.Collection) Node(javafx.scene.Node) Set(java.util.Set) MasterSlaveChartComposite(com.kyj.fx.voeditor.visual.component.MasterSlaveChartComposite) BarChart(javafx.scene.chart.BarChart) Collectors(java.util.stream.Collectors) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) List(java.util.List) TreeMap(java.util.TreeMap) SVNLogEntry(org.tmatesoft.svn.core.SVNLogEntry) ValueUtil(kyj.Fx.dao.wizard.core.util.ValueUtil) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) Set(java.util.Set) Color(javafx.scene.paint.Color) Node(javafx.scene.Node) Data(javafx.scene.chart.XYChart.Data) SVNException(org.tmatesoft.svn.core.SVNException) ObservableList(javafx.collections.ObservableList) BarChart(javafx.scene.chart.BarChart) LineChart(javafx.scene.chart.LineChart)

Example 2 with BarChart

use of javafx.scene.chart.BarChart in project Gargoyle by callakrsos.

the class PMDViolationbyBarChartComposite method createNode.

/* (non-Javadoc)
	 * @see com.kyj.fx.voeditor.visual.component.pmd.chart.PMDViolationChartVisualable#createNode()
	 */
@Override
public Node createNode() {
    xAxis = new CategoryAxis();
    xAxis.setAutoRanging(false);
    xAxis.setAnimated(false);
    yAxis = new NumberAxis();
    yAxis.setAnimated(false);
    yAxis.setPrefWidth(60d);
    yAxis.setAutoRanging(true);
    yAxis.setMaxWidth(60d);
    yAxis.setLabel("Violation Count");
    Series<String, Number> dataList = new Series<>(FXCollections.observableArrayList());
    dataList.setName("Priority");
    BarChart<String, Number> c = new BarChart<>(xAxis, yAxis);
    barChart.set(c);
    series = c.getData();
    series.add(0, dataList);
    this.dataList = dataList.getData();
    return c;
}
Also used : Series(javafx.scene.chart.XYChart.Series) NumberAxis(javafx.scene.chart.NumberAxis) CategoryAxis(javafx.scene.chart.CategoryAxis) BarChart(javafx.scene.chart.BarChart)

Example 3 with BarChart

use of javafx.scene.chart.BarChart in project jvarkit by lindenb.

the class VariantDepthChartFactory method build.

@Override
public Chart build() {
    final CategoryAxis xAxis = new CategoryAxis();
    xAxis.setLabel("DP");
    final NumberAxis yAxis = new NumberAxis();
    yAxis.setLabel("Count");
    final XYChart.Series<String, Number> serie = new XYChart.Series<String, Number>();
    serie.setName(xAxis.getLabel());
    for (Integer dp : new TreeSet<>(this.afindexcount.keySet())) {
        serie.getData().add(new XYChart.Data<String, Number>(String.valueOf(dp), this.afindexcount.count(dp)));
    }
    final BarChart<String, Number> sbc = new BarChart<String, Number>(xAxis, yAxis);
    sbc.setTitle(this.getName());
    sbc.getData().add(serie);
    sbc.setCategoryGap(0.2);
    sbc.setLegendVisible(false);
    return sbc;
}
Also used : NumberAxis(javafx.scene.chart.NumberAxis) CategoryAxis(javafx.scene.chart.CategoryAxis) TreeSet(java.util.TreeSet) BarChart(javafx.scene.chart.BarChart) XYChart(javafx.scene.chart.XYChart)

Example 4 with BarChart

use of javafx.scene.chart.BarChart in project jvarkit by lindenb.

the class AFByPopulationChartFactory method build.

@Override
public Chart build() {
    final CategoryAxis xAxis = new CategoryAxis();
    xAxis.setLabel("Population");
    final NumberAxis yAxis = new NumberAxis();
    yAxis.setLabel("Mean-MAF");
    final XYChart.Series<String, Number> serie = new XYChart.Series<String, Number>();
    serie.setName("Population");
    for (int i = 0; i < this.popcount.size(); ++i) {
        final PedFile.Status status = PedFile.Status.values()[i];
        double v = 0;
        if (this.popcount.get(i).num_maf > 0) {
            v = this.popcount.get(i).sum / ((double) this.popcount.get(i).num_maf);
        }
        serie.getData().add(new XYChart.Data<String, Number>(status.name(), v));
    }
    final BarChart<String, Number> sbc = new BarChart<String, Number>(xAxis, yAxis);
    sbc.setTitle(this.getName());
    sbc.getData().add(serie);
    sbc.setCategoryGap(0.2);
    sbc.setLegendVisible(false);
    return sbc;
}
Also used : NumberAxis(javafx.scene.chart.NumberAxis) PedFile(com.github.lindenb.jvarkit.tools.vcfviewgui.PedFile) CategoryAxis(javafx.scene.chart.CategoryAxis) BarChart(javafx.scene.chart.BarChart) XYChart(javafx.scene.chart.XYChart)

Example 5 with BarChart

use of javafx.scene.chart.BarChart in project jvarkit by lindenb.

the class AFBySexChartFactory method build.

@Override
public Chart build() {
    final CategoryAxis xAxis = new CategoryAxis();
    xAxis.setLabel("Sex");
    final NumberAxis yAxis = new NumberAxis();
    yAxis.setLabel("Mean-MAF");
    final XYChart.Series<String, Number> serie = new XYChart.Series<String, Number>();
    serie.setName("Sex");
    for (int i = 0; i < this.popcount.size(); ++i) {
        final PedFile.Sex sexxxxx = PedFile.Sex.values()[i];
        double v = 0;
        if (this.popcount.get(i).num_maf > 0) {
            v = this.popcount.get(i).sum / ((double) this.popcount.get(i).num_maf);
        }
        serie.getData().add(new XYChart.Data<String, Number>(sexxxxx.name(), v));
    }
    final BarChart<String, Number> sbc = new BarChart<String, Number>(xAxis, yAxis);
    sbc.setTitle(this.getName());
    sbc.getData().add(serie);
    sbc.setCategoryGap(0.2);
    sbc.setLegendVisible(false);
    return sbc;
}
Also used : NumberAxis(javafx.scene.chart.NumberAxis) PedFile(com.github.lindenb.jvarkit.tools.vcfviewgui.PedFile) CategoryAxis(javafx.scene.chart.CategoryAxis) BarChart(javafx.scene.chart.BarChart) XYChart(javafx.scene.chart.XYChart)

Aggregations

BarChart (javafx.scene.chart.BarChart)8 CategoryAxis (javafx.scene.chart.CategoryAxis)6 NumberAxis (javafx.scene.chart.NumberAxis)6 XYChart (javafx.scene.chart.XYChart)6 List (java.util.List)3 Series (javafx.scene.chart.XYChart.Series)3 PedFile (com.github.lindenb.jvarkit.tools.vcfviewgui.PedFile)2 MasterSlaveChartComposite (com.kyj.fx.voeditor.visual.component.MasterSlaveChartComposite)2 GagoyleDate (com.kyj.fx.voeditor.visual.framework.model.GagoyleDate)2 DateUtil (com.kyj.fx.voeditor.visual.util.DateUtil)2 FxCollectors (com.kyj.fx.voeditor.visual.util.FxCollectors)2 FxUtil (com.kyj.fx.voeditor.visual.util.FxUtil)2 SimpleDateFormat (java.text.SimpleDateFormat)2 Collection (java.util.Collection)2 LinkedHashMap (java.util.LinkedHashMap)2 Map (java.util.Map)2 Set (java.util.Set)2 TreeMap (java.util.TreeMap)2 Collectors (java.util.stream.Collectors)2 ObservableList (javafx.collections.ObservableList)2