当前位置: 首页 > 知识库问答 >
问题:

JFreeChart:使用CategoryAxis时,域轴的放大不起作用

松高爽
2023-03-14

我正在使用jfreechart库绘制一系列图表。我将y轴上的值、x轴上的时间和3个类别作为系列。一切都很好,但我不能放大域轴,虽然它的工作范围轴很好。这可能吗?

以下代码行可以帮助您找到我的代码的一些场景:

final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setDomainZoomable(true);
chartPanel.setRangeZoomable(true);
this.add(chartPanel, BorderLayout.CENTER);

//set plot specifications 
final CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(new Color(0xffffe0));
plot.setDomainGridlinesVisible(true);
plot.setDomainGridlinePaint(Color.lightGray);
plot.setRangeGridlinePaint(Color.lightGray);

//CUSTOMIZE DOMAIN AXIS
final CategoryAxis domainAxis = (CategoryAxis) plot.getDomainAxis();

//customize domain label position
domainAxis.setCategoryLabelPositions(
       CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)
);

共有1个答案

岳凯康
2023-03-14

看起来你正在使用一个类别Plot,它不支持在域范围内进行zooing

要允许在域轴上缩放,请切换到XYPlot,如果您使用的是图表工厂,则代码为

JFreeChart chart = ChartFactory.createXYLineChart(...);

如果您能够将绘图转换为类别plot,则可能出了问题。我检查了LineChartDemo3,该代码导致错误(java.lang.ClassCastException):

try {
        final CategoryPlot cplot = (CategoryPlot) chart.getPlot();
    } catch (Exception e) {
        e.printStackTrace();
    }
 类似资料:
  • 问题内容: 如何使用https://www.amcharts.com/demos/line-chart-with-scroll-and- zoom/ 这样的图表 我对这些功能特别感兴趣 为了能够使用这两个选择控件选择域轴窗口。 为了能够通过选择部分域轴进行缩放。 为了能够缩小并查看大图。 为了能够映射到范围轴(Y)并在任意点(无标记)像工具提示一样查看该气球上的值 我在这里尝试了可滚动的JFree

  • 如何拥有像https://www.amcharts.com/demos/line-chart-with-scroll-and-zoom/这样的图表 null 我在这里做了初步尝试,可滚动JFree域轴和自定义标记标签,在垃圾上帝的帮助下,我使域可滚动。 我仍然缺少这些功能,以便能够有效地使用graph。

  • 我最近开始使用JFreeChart,我想做一些事情,但我不确定是否可能。我的程序应该从wav文件中绘制声谱图(声音图)。因此,我设法从双arraylist中的wav文件中获取数据,并将其显示在图表中。但现在我希望能够选择我的频谱图的一个区域(与相同的工具用于缩放)没有缩放,并能够播放我的声音上只选择的部分。但我根本找不到任何成功的方法。以下是我的图表代码: getChartPanelun()返回一

  • 我的目标是增加“收入 ($) " 和“年份”的大小。但是我不知道怎么做。我可以增加“苹果、榴莲、橘子”和“2012、2013”。 下面是我的代码。

  • 我似乎对JFreeChart XYPlot中的测试注释有问题。我可以如下设置文本注释 我还可以通过添加 但是如果我试图改变字体类型/大小或颜色,它似乎不起作用 字体保持黑色,并为默认类型/大小。奇怪的是,在烛台图表上,功能似乎很好,但不是简单的绘图 其他人有没有经历过这种情况,或者我做错了什么? ======== 我似乎已经解决了这个问题。在我的烛台图表代码中,数据集在构建时添加到图表中。添加文本

  • 问题内容: 我的Java Web 应用程序的BAR图表中显示了以下值。9.46373791E8 9.45942547E8 9.45559945E8 9.45187023E8 9.44856693E8 9.44417826E8 9.44007878E8 如您所见,这些值实际上很接近,并且有微小的差异。当我 使用Jfreechart生成条形图时,所有条形都显示几乎相同的 高度,并且无法从视觉上分辨出差