簡體   English   中英

如何在jfreechart xy圖中獲取鼠標的y或x軸坐標

[英]how to get mouse's y or x axis coordinates in a jfreechart xy plot

我已設法使用jfreechart繪制帶有幾個點的xy圖表。

我想要做的是能夠點擊已經繪制的線上的任何地方並獲得其x或y軸值。

有人可以幫幫我嗎? 這是我第一次使用j freechart,我覺得有點迷茫。

我創建了數據集並生成了目前為止的圖表。

TimeSeries s = new TimeSeries("security", Day.class);
        while (rate_i.hasNext()) {    
            rate r = (rate) rate_i.next();    
            Calendar cal = Calendar.getInstance();
            cal.setTime(r.d);
            int month = cal.get(Calendar.MONTH) + 1;
            int day = cal.get(Calendar.DATE);
            int year = cal.get(Calendar.YEAR);
            s.add(new Day(day, month, year), r.rate);    
        }
        TimeSeriesCollection ds = new TimeSeriesCollection();
        ds.addSeries(s);
        JFreeChart chart = ChartFactory.createTimeSeriesChart(
                "Security Performance over time.", // title
                "Date", // x-axis label
                "Value", // y-axis label
                ds, // data
                true, // create legend?
                true, // generate tooltips?
                false // generate URLs?
                );
        XYPlot xyplot = (XYPlot) chart.getPlot();
        xyplot.setDomainPannable(true);
        xyplot.setRangePannable(false);
        xyplot.setDomainCrosshairVisible(true);
        xyplot.setRangeCrosshairVisible(true);
        org.jfree.chart.renderer.xy.XYItemRenderer xyitemrenderer = xyplot
                .getRenderer();
        if (xyitemrenderer instanceof XYLineAndShapeRenderer) {
            XYLineAndShapeRenderer xylineandshaperenderer = 
                  (XYLineAndShapeRenderer) xyitemrenderer;
            xylineandshaperenderer.setBaseShapesVisible(false);
        }
        DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
        dateaxis.setDateFormatOverride(
             new SimpleDateFormat("EEE, MMM d, ''yy"));    
        ChartFrame frame = new ChartFrame("Chart", chart);
        frame.setVisible(true);
        frame.setSize(700, 900);

ChartMouseListener添加到封閉的ChartPanel ; 在這里這里可以看到例子。 ChartEntity將包含有關鼠標目標的詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM