java - 在 jfreechart 中缩小后恢复手动域轴范围

标签 java dns range jfreechart zooming

我正在使用 JFreeChart 在我的应用程序中创建时间序列图表。
我使用手动设置它的域轴范围:

    ...
    plot.getDomainAxis().setAutoRange(false);
    Calendar c1=Calendar.getInstance();
    c1.set(Calendar.HOUR_OF_DAY, 10);
    c1.set(Calendar.MINUTE, 0);
    Calendar c2=Calendar.getInstance();
    c2.set(Calendar.HOUR_OF_DAY, 18);
    c2.set(Calendar.MINUTE, 0);
    plot.getDomainAxis().setRange(c1.getTimeInMillis(),c2.getTimeInMillis());
    ...

放大图表然后缩小(在图表本身上使用鼠标)会触发两个轴上的AutoRange,这使得域轴范围更改为系列边界,而不是我自己的手动范围。

示例(查看域轴的范围):
放大之前(正确):
enter image description here

放大缩小后(不正确 - 是自动调整范围):
enter image description here

如何让它缩小到我手动设置的范围?

谢谢

最佳答案

您可以尝试restoreAutoBounds() ,如图 here ,然后是您的自定义域设置。

附录:您看到的行为是在 ChartPanel 的鼠标监听器实现中定义的。您可以重写 chartProgress() 并在图表完成绘制且未缩放时恢复域轴。

关于java - 在 jfreechart 中缩小后恢复手动域轴范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551604/

相关文章:

java - JLabel 宽度似乎不正确

java - MyBatis 中嵌套的 <collection> 和 <association> 给出 NULL 作为结果

email - 为什么 SendGrid 不需要 DNS 修改

apache - 使用 DynDNS 设置自己的 Web 服务器

Python 3 将范围转换为列表

java - 测试使用 JDBC 和 Mockito 的 DAO 类

java - 当文件已经存在时,如何创建一个具有附加递增编号的新文件?

dns - 域位于一个 IP 地址,子域位于不同的 IP 地址

string - 从常量 Ints 创建 Range<String.Index>

java - 在 Java 中查找两个日期范围之间的交集(以编程方式)