2017-04-05 53 views
1

我有一个系列的基本XYPlot。 当绘图方向为垂直时,工具提示工作正常。 当绘图方向为水平时,工具提示根本不会出现, 或有时出现错误的值。JFreeChart:工具提示停止旋转阴谋工作

public class HorizontalPlotTooltip { 

public static void main(String[] args) { 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    XYPlot plot = new XYPlot(); 
    plot.setOrientation(PlotOrientation.HORIZONTAL); 
    NumberAxis xAxis = new NumberAxis("x-axis value"); 
    xAxis.setAutoRange(true); 
    xAxis.setAutoRangeIncludesZero(false); 
    xAxis.setInverted(true); 
    plot.setDomainAxis(xAxis); 
    NumberAxis yAxis = new NumberAxis("y-axis value"); 
    yAxis.setAutoRange(true); 
    yAxis.setAutoRangeIncludesZero(false); 
    plot.setRangeAxis(yAxis); 
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true,false); 
    StandardXYToolTipGenerator generator = new StandardXYToolTipGenerator(StandardXYZToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,new DecimalFormat("#"),new DecimalFormat("0.00")); 
    renderer.setBaseToolTipGenerator(generator); 
    XYSeriesCollection dataset = new XYSeriesCollection(); 
    XYSeries series = new XYSeries("value"); 

    for (int i=0; i < 2000; i++) { 
     series.add(i,Math.sin(i/500.0)); 
    } 
    dataset.addSeries(series); 
    plot.setDataset(dataset); 
    plot.setRenderer(renderer); 
    JFreeChart chart = new JFreeChart("Inverted - Horizontal plot problem",plot); 
    ChartPanel chartPanel = new ChartPanel(chart); 
    // long dismiss delay to observe tooltip 
    chartPanel.setDismissDelay(100000); 
    frame.setPreferredSize(new Dimension(200,700)); 
    frame.setMinimumSize(new Dimension(200,700)); 
    frame.setLayout(new BorderLayout()); 
    frame.add(chartPanel); 
    frame.setVisible(true); 
} 

是否有额外的代码添加到具有正确的值时提示的情节是水平?

回答