当前位置: 首页 > 面试题库 >

同一数据上的多个轴

阎乐池
2023-03-14
问题内容

我试图在相同的数据上有两个轴。

数据是一对DefaultTableXYDatasets。情节是a
XYPlot,我有两个XYLineAndShapeRenderers和一个StackedXYAreaRenderer2

对于y值,所有数据均以米为单位,我希望有一个轴以米为单位显示该轴,以英尺为单位显示该数据。现在,这感觉很普通,但是我无法决定最明显的方法。一种有效的方法是复制数据并以英尺为单位设置y值,然后添加另一个NumberAxis并完成该操作。

但是我认为,子类化NumberAxis或向其注入一些功能NumberAxis以缩放值会更明智。还是我应该采用第一种方法?

你怎么看?


问题答案:

最终,我决定采用这种解决方案,它可能不是最优雅的,但它确实有效。我有第二个轴feetAxis,并AxisChangeListener在第一个轴上添加了一个meterAxis。当meterAxis改变设定的范围内feetAxis

我使用SwingUtilities.invokeLater,否则缩小图表时范围将不正确,那么范围feetAxis只会从0到1。不过没有检查原因。

feetAxis = new NumberAxis("Height [ft]");
metersAxis = new NumberAxis("Height [m]");
pathPlot.setRangeAxis(0, metersAxis);
pathPlot.setRangeAxis(1, feetAxis);

metersAxis.addChangeListener(new AxisChangeListener() {

   @Override
   public void axisChanged(AxisChangeEvent event) {

       SwingUtilities.invokeLater(new Runnable() {

           @Override
           public void run() {
               feetAxis.setRange(metersAxis.getLowerBound() * MetersToFeet, metersAxis.getUpperBound() * MetersToFeet);
                }
           });
       }
   });


 类似资料:
  • 我试图在相同的数据上有两个轴。 数据是两个。该图是,我有两个和一个。 所有的数据是以米为y值,我想有一个轴显示它在米和一个轴显示它在英尺。现在这感觉像是一件常见的事情做,但我不能决定最明显的方式来做它。一种可行的方法是复制数据,并在脚中使用Y值,然后添加另一个并使用它。 但是我认为更明智的做法是将子类化,或者在中注入一些功能来缩放值。还是我应该采用第一种方法? 你觉得呢?

  • 我目前使用Spring Boot和Hibernate与单一数据源访问单一数据库。我需要读取和写入数据库。直到现在一切都很好。 现在,当谈到SQL注入时,我的项目经理有点偏执,尽管我们尽了最大努力来参数化任何接受任何类型用户输入的查询。因此,他问我是否可以使用两个数据库用户连接到同一个数据库:一个具有读/写访问权限,另一个具有只读访问权限。这样,对于每个只需要读取访问权限的查询,我可以使用只读用户,

  • 让Person是一个具有属性name、age和idNumber的类。我希望有一个“人”的集合,我希望能够以最有效的方式执行以下操作: 通过他们的ID号检索他们。 获取年龄的人的列表 我的想法是同时维护一个使用id作为键的Hashmap和两个使用age和name作为每个树映射键的树映射。 这是最好的方式吗

  • 问题内容: 我正在寻找一种处理以下情况的方法: 我们有一个数据库服务器,上面有多个数据库(所有数据库都有相同的架构,不同的数据)。 我们正在寻找一种查询所有数据库的方法(并且它易于配置,因为可以随时添加更多数据库)。此数据访问必须是实时的。 举例来说,假设您有一个插入订单的应用程序- 每个应用程序都有自己的数据库等。我们正在寻找的是一种有效的方式,使单个应用程序可以访问所有其他数据库中的订单信息,

  • 我有一条这样的小溪和两个水槽,但一次只使用一个: 或 我们使用哪个接收器是可配置的,但是如果我并行使用两个接收器怎么办?我该怎么做? 我想到了水槽。合并,但它也需要合并策略,我不想以任何方式合并这些汇的结果。我真的不关心它们,所以我只想通过HTTP将相同的数据发送到某个endpoint,同时将它们发送到数据库。Sink combine与broadcast非常相似,但从头开始实现广播会降低代码的可读

  • 我有两个不同列数和行数的CSV文件。第一个CSV文件有M列和N行,第二个文件有H列和G行。一些列具有相同的名称。 null 另外,如果两个CSV文件有两个数据帧,并希望这样做,例如,如果我将第一个CSV加载到中,将第二个加载到中,然后希望合并到,类似于上面的示例。