【发布时间】:2012-05-08 00:39:05
【问题描述】:
我正在使用JFreeChart API 在我的 Java 应用程序中生成一些图表。在我的一个图表中,我尝试使用 LogAxis 对象通过以下代码使我的 y 轴成为对数刻度轴(图中的 A):
LogAxis logAxis = new LogAxis("Price($)");
logAxis.setMinorTickMarksVisible(true);
logAxis.setAutoRange(true);
xyplot.setRangeAxis(logAxis);
然后我得到一个对数刻度的 y 轴,刻度为 10^n(如图 A)。我想让它像B一样,对用户来说更直观,每个区间代表不同的值,如图,2->4、4->8、8->16,区间增长为2^ n.较小的一点是,即使它们代表不同的值,间隔也显示同样宽。但是,当 O 尝试通过以下代码实现这一点时:
LogAxis logAxis = new LogAxis("Price($)");
logAxis.setBase(2);
logAxis.setTickUnit(new NumberTickUnit(2));
logAxis.setMinorTickMarksVisible(true);
logAxis.setAutoRange(true);
xyplot.setRangeAxis(logAxis);
我得到的是类似于图 C 的东西。
我怎样才能实现图B?
【问题讨论】:
-
显示了一个相关的例子here。
标签: java jfreechart