JavaFX Chart设置数值显示

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);


--------------------- 

以上是关于JavaFX Chart设置数值显示的主要内容,如果未能解决你的问题,请参考以下文章

C# winform chart 控件横坐标只显示固定个数值怎么设置,比如固定显示500或1000个数据?

在c# chart柱状图中,怎么根据数值的大小动态控制单个柱体的颜色

Javafx:如何在 css 中更改 .chart-legend-item-symbol 的大小?

JavaFX Chart

web页面 chart.js 怎样在折线图的点上显示对应数值?

JavaFX BarChart xAxis标记错误的定位