• JavaFX Chart设置数值显示


    一、XYChart 


    import javafx.application.Application;
    import javafx.geometry.NodeOrientation;
    import javafx.geometry.Side;
    import javafx.scene.Scene;
    import javafx.scene.chart.*;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;


    public class LineChartSample extends Application {

    @Override
    public void start(Stage stage) {
    stage.setTitle("people");
    final CategoryAxis xAxis = new CategoryAxis();
    final NumberAxis yAxis = new NumberAxis();
    xAxis.setLabel("Country");
    final BarChart<String, Number> chart =
    new BarChart<String, Number>(xAxis, yAxis);

    chart.setTitle("people");

    XYChart.Series series = new XYChart.Series();
    series.setName("flag");
    series.getData().add(new XYChart.Data("China", 14.7));
    series.getData().add(new XYChart.Data("America", 2.5));
    series.getData().add(new XYChart.Data("India", 14));
    XYChart.Data data = new XYChart.Data("Russa", 2);
    data.setNode(new Label("2"));
    series.getData().add(data);

    Scene scene = new Scene(chart, 800, 600);
    chart.getData().addAll(series);

    stage.setScene(scene);
    stage.show();
    }


    public static void main(String[] args) {
    launch(args);
    }
    }
     

    二、PieChart

    import javafx.application.Application;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;
    import javafx.scene.chart.*;
    import javafx.scene.Group;

    public class PieChartSample extends Application {

    @Override public void start(Stage stage) {
    Scene scene = new Scene(new Group());
    stage.setTitle("Imported Fruits");
    stage.setWidth(500);
    stage.setHeight(500);

    ObservableList<PieChart.Data> pieChartData =
    FXCollections.observableArrayList(
    new PieChart.Data("Grapefruit", 13),
    new PieChart.Data("Oranges", 25),
    new PieChart.Data("Plums", 10),
    new PieChart.Data("Pears", 22),
    new PieChart.Data("Apples", 30)
    );

    final PieChart chart = new PieChart(pieChartData);
    chart.setTitle("Imported Fruits");

    final Label caption = new Label("");
    caption.setTextFill(Color.DARKORANGE);
    caption.setStyle("-fx-font: 24 arial;");

    for (final PieChart.Data data : chart.getData()) {
    data.getNode().addEventHandler(MouseEvent.MOUSE_PRESSED,
    new EventHandler<MouseEvent>() {
    @Override public void handle(MouseEvent e) {
    caption.setTranslateX(e.getSceneX());
    caption.setTranslateY(e.getSceneY());
    caption.setText(String.valueOf(data.getPieValue()) + "%");
    }
    });
    }
    ((Group) scene.getRoot()).getChildren().addAll(chart,caption);
    stage.setScene(scene);
    stage.show();
    }

    public static void main(String[] args) {
    launch(args);
    }
    }
     
    --------------------- 

  • 相关阅读:
    【ASP.NET 进阶】根据IP地址返回对应位置信息
    【网络文摘】编程的智慧
    【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro
    【iOS 初见】第一个简单的 iOS 应用
    【C#】C# 实现发送手机短信
    【网络文摘】一家公司要了你后,凭什么给你开高工资?
    深入理解Java虚拟机01--概述
    Java虚拟机(五)Java的四种引用级别
    OkHttp3源码详解(六) Okhttp任务队列工作原理
    OkHttp3源码详解(五) okhttp连接池复用机制
  • 原文地址:https://www.cnblogs.com/ly570/p/10989720.html
Copyright © 2020-2023  润新知