【问题标题】:Get Java2D y-coordinate in category plot corresponding to a value in jfreechart在与 jfreechart 中的值对应的类别图中获取 Java2D y 坐标
【发布时间】:2015-08-14 04:24:32
【问题描述】:

我需要有关 JFreeChart 要求的帮助。我需要为CategoryPlot 中的相应类别值获取java2D 中的y 坐标。比如说我给A类一个value = 12000,它会给我图中对应的y坐标。

【问题讨论】:

  • 为您选择的ValueAxis 尝试valueToJava2D()

标签: java plot jfreechart categories


【解决方案1】:

以下应该这样做:

CategoryPlot plot = chart.getCategoryPlot();
ValueAxis axis = plot.getRangeAxis();
Rectangle2D area = chartPanel.getChartRenderingInfo().getPlotInfo().getPlotArea();

double yCoordinate = axis.valueToJava2D(12000, area, plot.getRangeAxisEdge());

但请注意,它只能在图表渲染完成后工作。因此,如果在图表创建期间调用它,它将不起作用。不过,您可以使用 invokeLater() 延迟它。

【讨论】:

  • Eric 是正确的,但也考虑一个ChartMouseListener,检查here
  • 这对我不起作用。我需要获取 y 坐标才能在图中放置一个箭头。有没有办法从数据集中找到它??
  • 行不通是什么意思?你的意思是你想要数据集中的坐标only(意味着图表还没有被绘制)?做到这一点的唯一方法是通过计算图表的大小和不同的边距来预先计算坐标......(即在渲染期间完成的所有事情)
  • @RajeshSaha:“在情节中放置一个箭头,”也许使用CategoryPointerAnnotationvalue = 12000
  • @EricLeibenguth 你所说的正是我的要求,但你能提供一些示例代码吗?你会非常好。
猜你喜欢
  • 2011-01-11
  • 2010-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 2012-03-17
  • 1970-01-01
  • 2012-08-19
相关资源
最近更新 更多