java - 在 jFreeChart 直方图中配置两个范围轴
问题描述
我在 jFreeChart 直方图中有两个系列。一个通常比另一个小,我们想缩放较小的,因此它类似于较大的系列,我想验证是否可以使用 jFreeChart 的常用 API 和两个独立的范围轴来做到这一点,大概是一个在右边,另一个在左边。
解决方案
官方的例子很有帮助。这是我基于它们的解决方案,非常感谢trashgod的建议。
public void generateChart(List<FmsData> data, Valve valve) {
HistogramDataset aggDs = createAggDataset(data);
chart = createChart(aggDs, valve.getNumber());
HistogramDataset valveDs = createValveDataset(data,valve.getNumber());
XYPlot plot = chart.getXYPlot();
// configure the second dataset
plot.setDataset(0, aggDs);
plot.setDataset(1, valveDs);
plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT);
plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);
plot.mapDatasetToRangeAxis(0, 0);
plot.mapDatasetToRangeAxis(1, 1);
NumberAxis valveRangeAxis = new NumberAxis();
plot.setRangeAxis(1, valveRangeAxis);
XYBarRenderer renderer2 = new XYBarRenderer();
plot.setRenderer(1, renderer2);
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
renderer2.setDrawBarOutline(false);
// flat bars look best...
renderer2.setBarPainter(new StandardXYBarPainter());
renderer2.setShadowVisible(false);
// end config second dataset
推荐阅读
- coq - 从库中查找函数
- php - 如何通过复合主键从两个表中选择一个?
- php - Cpanel php 版本!= .htaccess 文件
- javascript - 如何处理 JavaScript 中的事件?
- javascript - 如何为类的每个实例设置不同的间隔值
- python - QtDesigner 将字体大小设置为 -1
- reactjs - 根据环境(产品或测试)动态更改我使用的云功能
- python - 在具有透明度的 3D 图像上叠加 2D 热图
- c# - 使用 CreatedAtAction 从 Web API 控制器返回自创建的 JSON 而不转义?
- git - 错误:.git/logs/HEAD [冲突] 的错误参考