作者mantos730 (馒头)
站内java
标题Re: [问题] 关於JFreeChart画图,显示座标
时间Fri Apr 4 21:39:21 2008
感谢b大的帮助,结果我是使用jfreechart的tooltip功能
import org.jfree.chart.labels.StandardXYToolTipGenerator;
因为要绘制的资料是以XYLineAndShapeRenderer存起来
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
所以最後我直接使用
StandardXYToolTipGenerator ttg = new StandardXYToolTipGenerator("({1},{2})",
NumberFormat.getInstance(), NumberFormat.getInstance());
renderer.setBaseToolTipGenerator(ttg);
想要的功能想不到用现成的函数几行就完成了...感谢帮忙!!感恩...
※ 引述《blow (Louis Vuitton)》之铭言:
: 1. 如果你是要画点 或许用ChartFactory.createScatterPlot()会比较适合
: ChartFactory.createXYLineChart()记得是折线图
: 2. JFreeChart createScatterPlot(String title,
: String xAxisLabel,
: String yAxisLabel,
: XYDataset dataset,
: PlotOrientation orientation,
: boolean legend,
: boolean tooltips,
: boolean urls)
: 倒数第二个引数 boolean tooltips 改成true 试看看是否为你想要的效果
: 如果你只是想要show出滑鼠所指的data座标 这个应该就够了
: ※ 引述《mantos730 (馒头)》之铭言:
: : 我是一个Java新手,最近用JFreeChart写一个画点的座标图
: : 我是用一个series来存点的资料
: : public XYSeries series1 = new XYSeries("Series 1");
: : 并以XYSeriesCollection把series资料存在一个dataset中,然後以JFreechart画出图来
: : JFreeChart chart = ChartFactory.createXYLineChart(title,"X","Y",dataset,
: : PlotOrientation.VERTICAL,true,false,false);
: : 最後再用Chartpanel输出图
: : final ChartPanel chartPanel = new ChartPanel(chart);
: : 最後结果show出来像这样:
: : http://rainbow-tuka.myweb.hinet.net/1.JPG
: : 但接下来我想要再加上一个功能,当滑鼠移到输出座标图的点後,在滑鼠旁边想要
: : 显示一个小方格的提示,显示该点的座标位置
: : 我用了mouseevent去写,程式为:
: : class MyMouseListener implements ChartMouseListener{
: : public void chartMouseClicked(ChartMouseEvent arg0) {
: : }
: : public void chartMouseMoved(ChartMouseEvent arg0) {
: : System.out.println("Move:"+arg0.getTrigger().getPoint());
: : }
: : }
: : 然後再把chartpanel的地方加上这一行
: : chartPanel.addChartMouseListener(new MyMouseListener());
: : 但显示的座标并不是该点的座标,而是滑鼠指到画面上的位置座标
: : 请问要使用什麽函数才能直接输出座标上的点的座标呢?
: : 谢谢....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.145.194
1F:推 qrtt1:推一下orz JFreeChart的设定真复杂 04/04 22:19