【发布时间】:2014-06-03 16:36:48
【问题描述】:
我有以下 XY 图表
X 轴是天,Y 轴是我想要表示的元素的 ID。 问题是我试图表示的 ID 范围很广,比如 0-50000,但并非该范围内的所有值每次都出现在图上。假设每次生成时,该范围内的平均 10-20 个值可能会出现在图上。但是这些值分布在整个范围内。当您查看附图时,大多数值都接近范围的下限(100-2000),少数值高于 10000 标记,因此图表看起来非常倾斜。而且我实际上是在传递 ID,因为它是 Y 轴的 Y 坐标。
我只是想知道是否有一种方法可以让我拥有一个自定义 Y 轴,在其中我可以将实际 ID 映射到中间索引(仅用于我想要显示的 10 个项目)并使用实际 ID 作为绘制后 Y 轴上的自定义标签?
这可以实现吗?
【问题讨论】:
-
可能是
org.jfree.chart.axis.LogAxis,见过here。 -
是的,但我的值不完全是对数值:(
-
如果您映射到索引值(0 到 N-1,其中 N 是您需要绘制的范围内的值的数量),您可以获得所需的输出 之前 你填充你的数据集(换句话说,y 值将是索引而不是实际数据值)。然后将 XYPlot 上的 y 轴更改为 SymbolAxis,并将符号设置为与索引对应的实际数据值。
-
天才! SymbolAxis 是我一直在寻找的,运行良好。非常感谢@DavidGilbert,你能把它作为答案吗?我会赞成并接受它!再次感谢。
标签: java charts plot jfreechart