gpt4 book ai didi

Java JFreeChart 类别步骤图表水平(图像解释)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:13:38 25 4
gpt4 key购买 nike


我需要以下类型的图表:
它应该是一个“阶梯式”折线图,纵轴上有类别,如下所示:

this is how it shold be

我找到了这个类别步骤图示例,但它的方向不符合我的目的。

http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/renderer/category/CategoryStepRenderer.html


到目前为止我所做的就是这个,但是正如您所看到的,红线不适合图表的方向(应该是水平的):

current state

对应的代码:

   DefaultCategoryDataset ds = new DefaultCategoryDataset(); 

// create dataset

for (int k = 0; k < ffCount; k++) {
StateSignal ss1 = (StateSignal) this.ffDSet.getFframes().get(k).getSignals().get(i);
ds.setValue((double) k + 1, ss1.getName(), ss1.getStates().get(0).getStatus());

}
CategoryStepRenderer categorysteprenderer = new CategoryStepRenderer(false);
categorysteprenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
CategoryAxis categoryaxis = new CategoryAxis("Category");
NumberAxis numberaxis = new NumberAxis("Value");
CategoryPlot categoryplot = new CategoryPlot(ds, categoryaxis, numberaxis, categorysteprenderer);
categoryplot.setRangePannable(true);
categoryplot.setOrientation(PlotOrientation.HORIZONTAL);
chart = new JFreeChart("test", null, categoryplot, true);

我不让它工作。有什么想法吗?

提前致谢!

最佳答案

看起来您需要使用带有 XYStepRendererSymbolAxis 的标准 XYLineChart 来替换默认的范围轴,而不是 CategoryStepRenderer和水平绘图方向

如果您将状态 A 和 B 与数值(例如 1 和 2)相关联,您可以创建如下图表:

enter image description here

使用这个 XYStepRenderer

  XYStepRenderer renderer = new XYStepRenderer();
renderer.setBaseShapesVisible(true);
renderer.setSeriesStroke(0, new BasicStroke(2.0f));
renderer.setSeriesStroke(1, new BasicStroke(2.0f));
renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
renderer.setDefaultEntityRadius(6);
plot.setRenderer(renderer);

和一个符号轴

  String[] grade =  new String[3];
grade[0] = "";
grade[1] = "Status A";
grade[2] = "Status B";
SymbolAxis rangeAxis = new SymbolAxis("", grade);
rangeAxis.setTickUnit(new NumberTickUnit(1));
rangeAxis.setRange(0,3);
plot.setRangeAxis(rangeAxis);

在此示例中,SymbolAxis 为轴中的每个值提供了一个替代标签

关于Java JFreeChart 类别步骤图表水平(图像解释),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com