使用XY折线图生成的JFreechart href操作不正确(缺少序列和X项)



我已经正确生成了XY折线图,但我面临以下问题:

生成的HREF操作更改从查询中获取的值并显示其数组位置。因此,生成的工具提示是可以的,所以我认为用于生成图形和区域地图的XYdataset是可以的

这是用于生成数据集的SQL。

SELECT distinct v.station_name as STATION,date_part('month',(v.billing_time)) as MONTH_NUM,count(*) as TRANSACTIONS
FROM vista_all v
where v.station_ind=v.station_ind
and v.station_medmat='MED'
group by v.station_name,MONTH_NUM
ORDER BY station_name;

下面是查询返回的第一行的示例:

OBSERVACIO|2|1.6768

OBSERVACIO|3|716

UCI|3|2.990

UCI|4|3.529

我使用以下代码生成我的图形:

NumberAxis xAxis = new NumberAxis(graphicTO.getLabelX());
NumberAxis yAxis = new NumberAxis(graphicTO.getLabelY());
XYItemRenderer xyRenderer = (XYItemRenderer)new XYLineAndShapeRenderer();
xyRenderer.setDefaultToolTipGenerator((XYToolTipGenerator) new StandardXYToolTipGenerator());

StandardXYURLGenerator url = new StandardXYURLGenerator(any_action, "series", "DrillDown"); 
xyRenderer.setURLGenerator(url);

XYPlot plot = new XYPlot(dataset, xAxis, yAxis, xyRenderer);
plot.setOrientation(PlotOrientation.VERTICAL);

chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, true);       

因此,我期望在我的图中生成的工具提示将是";OBSERVACIO:21.6768〃;其中第一行和";UCI:39290〃;这是可以的,工作顺利。

问题是在序列行中生成的url如下:

any_action&series=0&DrillDown=0
any_action&series=0&DrillDown=1
any_action&series=1&DrillDown=0
any_action&series=1&DrillDown=1

我期待

any_action&series=OBSERVACIO&DrillDown=2
any_action&series=OBSERVACIO&DrillDown=3
any_action&series=UCI&DrillDown=3
any_action&series=UCI&DrillDown=4

类似的方法是使用数组位置而不是值本身。

知道吗?图形在视觉上是可以的,点在正确的位置,我的意思是我认为数据集是可以的。

我真的很感激你能提供的任何帮助。

Ivan

谢谢!

我最终生成了一个实现XYURLGenerator接口的类,该类的代码与StandardXYURLGenerator完全相同,唯一的区别是方法generateURL,它现在返回我需要的数据。

@Override
public String generateURL(XYDataset dataset, int series, int item) {
String url = this.prefix;
boolean firstParameter = !url.contains("?");
url += firstParameter ? "?" : "&";
url += "series" + "=" + dataset.getSeriesKey(series)
+ "&" + "DrillDown" + "=" + dataset.getXValue(series, item);
return url;
}

相关内容

  • 没有找到相关文章

最新更新