我有以下问题.我想放大Scatterplot然后选择所有显示的元素.
以某种方式获取放大的Scatterplot中的显示区域就足够了.从该区域的范围,我可以确定哪些元素在区域中显示,哪些不是.
\ edit:找到解决方案(实现AxisChangeListener接口)
import java.awt.Color;
import java.awt.Dimension;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.event.AxisChangeEvent;
import org.jfree.chart.event.AxisChangeListener;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
public class ScatterExample extends ApplicationFrame implements AxisChangeListener {
/**
* Creates a new demo instance.
* @param title the frame title.
*/
private XYSeriesCollection dataset;
private JFreeChart chart;
public ScatterExample(String title) {
super(title);
dataset = createSampleXYDataset();
chart = ChartFactory.createScatterPlot(
"Scatterplot Demo", // chart title
"X", // domain axis label
"Y", …Run Code Online (Sandbox Code Playgroud) 我想把文字放在我在折线图上绘制的每个点上.
这就是我能做的:
这就是我需要的(点的名称是绿色):
我需要编写一个行为类似于无限二维笛卡尔坐标系的自定义窗格。第一次显示时,我希望 0,0 位于窗格的中心。用户应该能够通过按住鼠标左键并拖动来导航窗格。它需要具有放大和缩小的能力。我还必须能够在特定坐标处放置节点。
当然,我知道这是一个非常具体的控件,我不会要求任何人给我分步说明或为我编写它。
我刚接触 JFX 自定义控件的世界,不知道如何解决这个问题,尤其是整个无穷大问题。