JavaFX LineChart 不画圆?

2023-12-29

该图表显示了问题:

我有 JavaFX 程序来计算数据并绘制图表,但为什么点没有正确连接?我尝试了很多事情,甚至创建了两个单独的系列,但它不起作用。

public void createScatterChart(){
    final NumberAxis xAxis = new NumberAxis();
    final NumberAxis yAxis = new NumberAxis();

    final SmoothedChart<Number,Number> smoothedChart = new SmoothedChart<>(xAxis, yAxis);

    XYChart.Series series1 = new XYChart.Series();
    XYChart.Series series2 = new XYChart.Series();
    XYChart.Series series3 = new XYChart.Series();

    for(int i = 0 ; i < this.r.size() ; i ++)
    {
        series1.getData().add(new XYChart.Data(this.r.get(i) * Math.cos(Math.toRadians(this.nodes.get(i))),this.r.get(i) * Math.sin(Math.toRadians(this.nodes.get(i)))));
        //series2.getData().add(new XYChart.Data(this.r.get(i) * Math.cos(Math.toRadians(this.nodes.get(i) * this.xArray[i][0])),this.r.get(i) * Math.sin(Math.toRadians(this.nodes.get(i) * this.xArray[i][0]))));
    }


    smoothedChart.getData().add(series1);
    smoothedChart.getData().add(series2);
    Stage stage = new Stage();
    Scene scene  = new Scene(smoothedChart,800,600);

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

检查类似的问题here https://stackoverflow.com/a/56381752/230513,其中解决方案取决于数据排序顺序。看着LineChart https://openjfx.io/javadoc/17/javafx.controls/javafx/scene/chart/LineChart.html, SortingPolicy.NONE https://openjfx.io/javadoc/17/javafx.controls/javafx/scene/chart/LineChart.SortingPolicy.html#NONE指定“数据应按照列表中定义的顺序排列XYChart.dataProperty()."

我不得不改变我的图表SmoothChart达到标准LineChart.

根据您的平滑方法,您可能会遇到所检查的三次样条伪影的类型here https://stackoverflow.com/q/70021577/230513,这也发生在jfreechart-fx /questions/tagged/jfreechart-fx。提出了一种使用贝塞尔曲线的方法here https://stackoverflow.com/a/71417125/230513.

经测试使用综合数据 https://stackoverflow.com/a/2510048/230513:

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 * @see https://stackoverflow.com/a/72607616/230513
 * @see https://stackoverflow.com/a/2510048/230513
 */
public class ChartTest extends Application {

    private static final int N = 32;

    @Override
    public void start(Stage stage) {
        var xAxis = new NumberAxis();
        var yAxis = new NumberAxis();
        var series = new XYChart.Series();
        series.setName("Data");
        for (int i = 0; i <= N; i++) {
            var t = 2 * Math.PI * i / N;
            var x = Math.cos(t);
            var y = Math.sin(t);
            series.getData().add(new XYChart.Data(x, y));
        }
        var chart = new LineChart<Number, Number>(xAxis, yAxis);
        chart.getData().add(series);
        ObservableList<LineChart.SortingPolicy> policies
            = FXCollections.observableArrayList(LineChart.SortingPolicy.values());
        var policy = new ChoiceBox<LineChart.SortingPolicy>(policies);
        policy.setTooltip(new Tooltip("Choose a data sorting policy."));
        policy.getSelectionModel().select(chart.getAxisSortingPolicy());
        chart.axisSortingPolicyProperty().bind(policy.valueProperty());
        Pane root = new StackPane(chart, policy);
        StackPane.setAlignment(policy, Pos.TOP_RIGHT);
        stage.setScene(new Scene(root));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaFX LineChart 不画圆? 的相关文章

  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • java程序有多少种结束方式?

    我知道使用 System exit 0 可以结束一个java程序 例如 如果我有一个JFrame窗口 它会关闭并结束程序 但我想知道还有多少其他方法 可以关闭它并结束程序 包括发生错误时 程序会被关闭 JFrame也会被关闭吗 添加到其他答
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • Kafka - 如何同时使用过滤器和过滤器?

    我有一个 Kafka 流 它从一个主题获取数据 并且需要将该信息过滤到两个不同的主题 KStream
  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 查看Java Agent修改的Java类的源代码

    我需要了解 Java 代理如何修改我的初始类 以便我能够理解代码的作用 build gradle configurations jar archiveName agent2 jar jar manifest attributes Prema
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 为什么解析这个 JSON 会抛出错误?

    我正在尝试解析这个 JSONObject query yahoo count 1 results rate Name USD INR id USDINR Time 12 19pm Date 10 31 2015 Bid 65 405 Ask
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 如何自定义舍入形式

    我的问题可能看起来很简单 但仍然无法得到有效的东西 我需要自定义 Math round 舍入格式或其他格式以使其工作如下 如果数字是 1 6 他应该四舍五入到 1 如果大于或等于 1 7 他应该四舍五入到 2 0 对于所有其他带有 6 的小
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • Java 8 Stream,获取头部和尾部

    Java 8 引入了Stream http download java net jdk8 docs api java util stream Stream html类似于 Scala 的类Stream http www scala lang
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • 确定 JavaFX 中是否消耗了事件

    我正在尝试使用 JavaFX 中的事件处理来做一些非滑雪道的事情 我需要能够确定手动触发事件后是否已消耗该事件 在以下示例中 正确接收了合成鼠标事件 但调用 Consumer 不会更新该事件 我对此进行了调试 发现 JavaFX 实际上创建
  • Spring 作为 JNDI 提供者?

    我想使用 Spring 作为 JNDI 提供程序 这意味着我想在 Spring 上下文中配置一个 bean 可以通过 JNDI 访问该 bean 这看起来像这样

随机推荐

  • GADT - 应用和用处?

    我正在使用 learnyouahaskell 来介绍 GADT 并且我对它们可能的用途很感兴趣 据我了解 它们的主要特点是允许显式类型设置 Such as data Users a where GetUserName Int gt User
  • 使用闭包动作,除非你需要冒泡

    我不知道我的代码有什么问题 模板 组件 item hbs div class form group div class col sm offset 2 col sm 10 div div
  • 使用断言使 XCTestCase 失败,测试不会继续运行,但不会停止其他测试

    我正在尝试使用 XCTest 框架测试我的应用程序 如果某些逻辑条件成立 使用断言 我希望我的单个测试用例失败 我不希望测试用例中的其余代码运行 因为这可能会导致问题 例如 访问空指针 我还希望测试用例的其余部分正常运行 并且仅将失败的测试
  • Flutter 和 GetxController - 如何管理状态不可靠性?

    目前我的应用程序存在很多问题getFlutter 包 https pub dev packages get https pub dev packages get 以及以下状态场景 例如我有一个 GetxControllerUserContr
  • Gradle - 如何从不同的 gradle 项目运行测试并仍然获取覆盖率数据

    有谁知道如何从不同的 gradle 项目运行测试并仍然获得 emma 覆盖率报告数据 这是我当前的布局 Root settings gradle no explicit build gradle just defines all subpr
  • 使用 jQuery 延迟显示 ajax 加载 gif

    延迟 ajax loader gif 显示的最佳方法是什么 当我点击一个按钮时 即使花费的时间只有几百毫秒 加载器 gif 也会显示和隐藏 这会给浏览器带来一种闪烁 我想说的是 仅在完成 ajax 请求的时间超过 1000 毫秒时才显示 g
  • 为什么抽象类可以强制重写具体方法?

    我使用一个库 其中抽象类重写继承自的具体方法Object使用抽象方法 public abstract class A Override public abstract boolean equals Object obj 为了扩展这个类 我必
  • 使用 WSDL 的 ruby​​ 中的 SOAP 服务器

    我需要在 ruby 中实现一个 SOAP 服务器来进行一次调用 并提供 WSDL 我的计划是自己创建 WSDL 并在 Rails 服务器上提供它 并使用解析 xml 的端点 这是一条有效的路径吗 我查看了 但找不到关于生成 WSDL 的 r
  • 一行中进行多次搜索和替换

    如果我做类似的事情 s aaa bbb s 111 222 并且第一次搜索和替换没有找到任何匹配项 第二次搜索和替换将不会执行 有没有办法告诉 vim 即使命令 失败 也继续执行 Try s aaa bbb e s 111 222 e an
  • 在非主键关系上连接和查询 Django 模型?

    我有两个模型通过非主键的字段在逻辑上相关 是否可以查询它们 例如 select related 而不引入ForeignKey column 例如 考虑人为的模型 class LogEntry Model source name CharFi
  • 使用 iframe 下载文件在 Iphone/Ipad 中不起作用

    文件下载功能不适用于在 iPhone Ipad 适用于 Safari 和 Chrome 中使用 iframe 的 MVC Bootstrap Web 应用程序 在台式机 笔记本电脑和 Android 设备 适用于所有浏览器 中一切正常 单击
  • NoSQL:MongoDB 或 BigTable 并不总是“可用”意味着什么

    阅读内森 赫斯特的著作NoSQL 系统视觉指南 http blog nahurst com visual guide to nosql systems 他包括CAP三角形 C一致性 A可用性 P分区容差 随着 SQL Server 成为AC
  • observablelist何时产生更新变化事件?

    我在不同条件下尝试了不同的集合 但我能够收到的所有更改都是排列 添加 删除和替换更改 在什么情况下会出现更新变化 产生此类事件需要什么基类 什么存储类以及什么操作 要生成更新事件 您必须创建一个ObservableList与提取器 http
  • 通过回调绕过 hCaptcha?

    你好 我正在尝试使用 2captcha 绕过在一个名为 stake games 的网站中绕过 hCaptcha 但它似乎不起作用 我收到了绕过代码 但是当我在 grecaptcha response 和 hcaptcha response
  • 通过覆盖旧密码插入新密码

    在 yii 中我正在创建项目 验证用户输入的电子邮件后 我显示了password php 文件 该文件具有用于输入新密码的文本字段 密码 php
  • chrome:页面源和检查元素的区别?

    Chrome 15 中 查看页面源代码 中的 html 和检查元素有什么区别 看起来像2个不同的html 查看页面源页面向您显示服务器返回的确切文本 检查元素实际上向您显示了完全渲染的DOM tree https www w3schools
  • 使用 BigDecimal 限制有效数字的任何巧妙方法

    我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字 不是小数位 例如至 4 位数字 12 3456 gt 12 35 123 456 gt 123 5 123456 gt 123500 等等 基本问题是如何找到的数量级B
  • iOS HealthKit 如何保存心率(bpm)值?迅速

    使用方法 HKUnit 样本类型 单位类型 单位名称 单位字符串 心率计数 时间每分钟心跳数 计数 分钟 Swift 心率 bpm 保存到 healthkit 商店 private func saveHeartRateIntoHealthS
  • 使用阻塞长同步操作会暂停 Node.js 中的所有用户吗?

    如果我有一个 SMTP 服务器 例如haraka https github com haraka Haraka 或网络服务器 如Express https github com strongloop express 使用 Node js 并
  • JavaFX LineChart 不画圆?

    该图表显示了问题 我有 JavaFX 程序来计算数据并绘制图表 但为什么点没有正确连接 我尝试了很多事情 甚至创建了两个单独的系列 但它不起作用 public void createScatterChart final NumberAxis