`

JavaFX学习之Chart

阅读更多
   Chart 分piechart 和XYChart
再看看chart的一些通用方法:
setLegendVisible(boolean value) 
setLegendSide(Side value)
setLegend(Node value)  

以上都是设置图标,chart除图形外还有个图标。设置是否可见,设置显示位置,设置自定义图标。

   XYChart  x,y轴图表,使用很简单,首先是创建需要什么样的图表,然后再选择的x,y轴用哪种格式,一般都是CategoryAxis,NumberAxis 文字和数字。然后在添加数据XYChart.Series<X, Y>相当于list, XYChart.Data<X,Y>单元数据,通过series.getData().addAll()添加。看一个简单例子:
   
AreaChart chart = new AreaChart(new NumberAxis(0,10000,2500), new NumberAxis(0,1000,200));
        chart.setLegendVisible(false);
        chart.setHorizontalGridLinesVisible(false);
        chart.setVerticalGridLinesVisible(false);
        chart.setAlternativeColumnFillVisible(false);
        chart.setAlternativeRowFillVisible(false);
        final XYChart.Series<Number, Number> series = new XYChart.Series<Number, Number>();
        series.getData().addAll(
            new XYChart.Data<Number,Number>(0       ,950),
            new XYChart.Data<Number,Number>(2000    ,100),
            new XYChart.Data<Number,Number>(5000    ,200),
            new XYChart.Data<Number,Number>(7500    ,180),
            new XYChart.Data<Number,Number>(10000   ,100)
        );
        chart.getData().add(series);

方法:
   
setHorizontalGridLinesVisible(boolean value)    //默认true, 中间显示的水平线是否显示
setHorizontalZeroLineVisible(boolean value)     //默认true
setVerticalGridLinesVisible(boolean value)      //默认true  中间显示的垂直线是否显示
setVerticalZeroLineVisible(boolean value)       //默认true
setAlternativeColumnFillVisible(boolean value)  //默认false, 列颜色填充
setAlternativeRowFillVisible(boolean value)     //默认true, 也就行颜色填充  

   AreaChart 区域图表
  
   BarChart 条状图表

   StackedBarChart  栈形条状图表
  
   方法:
      
   setBarGap(double value)  //设置同一类型bar之间的间距
   setCategoryGap(double value)  //设置不同类型之间的间距
   

   BubbleChar 泡型图表,可以对单元泡设置半径
  
   LineChart  线形图表 
   方法:
      
   setCreateSymbols(boolean value)  //是否设置符号,也就是那些点。false则显示连贯的直线,没有点了。
    

   PieChart and PieChart.Data饼图有些不同,一块块没有x,y轴之分。
PieChart.Data代表一块,并为它设置比率。看下面例子:
		PieChart pc = new PieChart();
		pc.setTitle("city");
		ol.addAll(new PieChart.Data("beijing", 10),new PieChart.Data("shanghai", 20),new PieChart.Data("shenzhen", 30),new PieChart.Data("guangzhou", 40));
		pc.setData(ol);
		final Text caption = new Text("");
        caption.setFill(Color.DARKORANGE);
        caption.setStyle("-fx-font: 24 arial;");
		for(final PieChart.Data data:ol){
			data.getNode().setOnMouseClicked(new EventHandler<MouseEvent>() {
				@Override
				public void handle(MouseEvent event) {
					caption.setTranslateX(event.getSceneX());
					caption.setTranslateY(event.getSceneY());
					caption.setText(String.valueOf(data.getPieValue())+"%");
				}
			});
		}
		pc.setLabelLineLength(10);
		pc.setLabelsVisible(true);   //不知道是什么		pc.setStartAngle(0);

数据由PieChart.Data构成
设置labelline那条线的长度
设置开始的角度,也就是第一个data出现的位置。


   ScatterChart  散布图表
   ScatterArrayChart
   StackedAreaChart
   StackedBarChart
   XYChart.Data  单元数据存放坐标值
   XYChart.Data(X xValue, Y yValue, java.lang.Object extraValue)  // 坐标值,和其它值,因为有些图表中,单个item不只有坐标值,而且还有其它值,如泡图表中,每一个泡还有半径这个值,这样显示大小就不同
   XYChart.Series
final Path strokePath = (Path)((Group)series.getNode()).getChildren().get(1);
final Path fillPath = (Path)((Group)series.getNode()).getChildren().get(0);

获取strokePath和fillPath。strokePath即是显示的那条线,fillPath即是填充的区域,由此你可以在这里改变chart的显示效果。
属性:
chart  所属的chart
data   包含的数据
name   展示的名字
node   展示在该节点上

这片文章有个例子,可以借鉴
http://fxexperience.com/2012/01/curve-fitting-and-styling-areachart/


   Axis 坐标

坐标上的一些内容

   Axis.TickMark
   CategoryAxis 文字坐标
   NumberAxis  数字坐标
  
   NumberAxis(java.lang.String axisLabel, double lowerBound, double upperBound, double tickUnit)  //设置坐标名,开始值,结束值,单元最小值
    

   NumberAxis.DefaultFormatter
   ValueAxis
  
  • 大小: 12.3 KB
分享到:
评论

相关推荐

    JavaFX学习资料总结

    JavaFX的Charts模块提供了多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)等,方便数据可视化。 七、JavaFX打包与部署 1. JAR打包:可以将JavaFX应用打包成JAR文件,供用户双击运行。 ...

    javafx绘制柱状图

    在这个实验中,我们将学习如何利用JavaFX绘制基础的柱状图,这对于数据可视化是至关重要的。对于Java初学者来说,这是一个很好的实践项目,因为JavaFX提供了一个直观的API来创建这样的图表。 首先,你需要安装...

    Mastering JavaFX 8 Controls

    2. **Chart API**: JavaFX 内置的图表库支持各种图表类型,如折线图、柱状图等。本书详细介绍了如何使用这些图表,并展示了如何定制它们的外观。 3. **Dialogs**: 对话框用于与用户进行交互式对话。书中教授了如何...

    26个字母直方图javafx

    JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的现代Java GUI框架。...通过学习和实践这个项目,你可以深入理解JavaFX的图形绘制和数据可视化原理,这对开发富客户端应用程序是非常有帮助的。

    在 JavaFx 中使用 JFreeChart 生成图表

    在JavaFX中,JFreeChart是一个非常有用的库,它允许开发者创建各种复杂的图表,如折线图、柱状图、饼图、散点图等...在`ThingsFXDemo`这个示例中,可能就包含了这些功能的实现,你可以通过查看源代码进一步学习和理解。

    javafx ui controls

    通过本文档的学习,我们了解了 JavaFX UI 控件的基本使用方法。掌握了这些控件之后,你可以根据实际项目需求灵活地构建各种类型的用户界面。无论是简单的应用还是复杂的商业系统,JavaFX 都能提供所需的功能和支持,...

    关于JAVAFX自己下载的一些资料拿出来共享哈~~~~

    以下是一些关于JavaFX学习的重点知识点: 1. **JavaFX基础**:理解JavaFX的基础架构,包括Scene、Stage、Nodes(节点)的概念,以及布局管理器如BorderPane、GridPane和FlowPane的使用。 2. **控件和组件**:熟悉...

    java版本的webchart原代码

    Java版本的WebChart是一个用于创建动态图表的库,主要用于在Web应用程序中展示数据。这个库提供了丰富的图表类型,包括柱状...对于学习Java图形绘制、Web开发和数据可视化的初学者,WebChart的源代码是一个宝贵的资源。

    javafxrt.rar

    JavaFX 是一个强大的Java应用程序接口(API),用于创建丰富的图形用户...随着JavaFX的持续发展,它的功能和易用性都在不断提升,对于任何希望在Java平台上构建富客户端应用的开发者来说,都是值得学习和掌握的工具。

    java-fx-jdk1.8-api-docs

    5. **媒体和图表**:JavaFX内置了处理多媒体的能力,包括音频和视频播放,以及各种图表组件如LineChart、BarChart等,用于数据可视化。 6. **3D功能**:JavaFX 1.8还引入了3D图形支持,允许开发者创建具有深度和...

    waffle_chart:使用JavaFX为给定的支出数组创建一个华夫饼图

    在编程领域,可视化数据是至关重要的,特别是在分析和展示数据时。JavaFX是一个强大的Java库,用于构建桌面应用程序,它提供了丰富的图形用户...对于想要学习JavaFX或数据可视化的开发者来说,这是一个很好的实践案例。

    java实现简单柱状图

    在Java编程环境中,创建一个简单的柱状图是可视化数据的有效方式。柱状图是一种常见的统计图表,用于比较不同类别的...通过深入学习JavaFX或Swing的相关文档,你可以掌握更多关于创建复杂图表和交互式用户界面的技巧。

    easycharts java chart components

    EasyCharts支持JSP、Servlet以及JavaFX等环境,适用于Web和桌面应用。 二、EasyCharts的主要特性 1. **丰富的图表类型**:包括柱状图、饼图、线形图、散点图、面积图等多种图表,满足不同场景的需求。 2. **高度可...

    LineChart:一个简单的折线图

    如果是JavaFX,你将需要引入`javafx.scene.chart.LineChart`类。下面是一个使用JavaFX创建简单折线图的基本步骤: 1. **初始化Scene和Stage** 首先,你需要设置一个舞台(Stage)和场景(Scene),这是JavaFX应用...

    pie chart code source

    4. **库引用**:可能包含对图形库的导入,如Python的matplotlib库,JavaScript的Chart.js或d3库,或Java的Swing或JavaFX库。 学习和理解这些源代码可以帮助你掌握如何在不同编程环境中创建饼图。例如,你可能会学到...

    LinechartTool.zip

    在本项目中,JavaFX的LineChart类被用来绘制折线图,我们可以设置X轴和Y轴的数据源,然后动态更新这些数据源,以实现实时数据的展示。 4. **数据接收与处理** 实时数据通常来自传感器、网络流或其他数据源。项目...

    Java_flash_Chart

    Java有许多库可以用来创建图表,如JFreeChart、JavaFX、Google Charts API等。这些库提供了丰富的图表类型,如柱状图、饼图、折线图、散点图等,可用于展示各种类型的数据。例如,JFreeChart是一个开源库,它提供了...

    tinkerforge-strom-ui:JavaFX当前的可视化

    2. **图表和可视化**:使用JavaFX的`Chart`类,如`LineChart`或`BarChart`,展示实时电力数据。理解如何动态更新图表数据,以及如何自定义图表的外观和行为。 3. **TinkerForge SDK**:熟悉TinkerForge设备模型,...

    JfreeChar学习资料 JfreeChar学习资料

    JFreeChart支持Swing、JavaFX以及Web应用程序中的图表渲染。 ### 2. 安装与集成 在项目中使用JFreeChart,首先需要将JFreeChart的JAR文件添加到项目的类路径中。可以通过Maven或Gradle等构建工具进行管理,或者...

    javaFxProject

    总的来说,"javaFxProject"是一个展示JavaFX技术的实例,涵盖了图形用户界面设计、事件处理、样式定制等多个方面,对于想要学习和掌握JavaFX的开发者来说,这是一个很好的学习资源。通过深入研究项目的源代码和布局...

Global site tag (gtag.js) - Google Analytics