gpt4 book ai didi

java - 我怎样才能制作如图所示的图表?

转载 作者:行者123 更新时间:2023-12-02 09:39:31 25 4
gpt4 key购买 nike

enter image description here目前,当我运行此代码时,它会向我显示一个如上所示的图表,我想绘制一个我已经显示的图表。目前它绘制了一个关于 (0,0) 对称的图形,我认为从 (0,-3) 或 (0, < -2) 绘制它应该可以完成工作。还有其他方法可以做到这一点吗?

当前代码:

public class Profile  {



double last=0;
ChartFrame frame1;
JToolBar jt=new JToolBar();
public void generateProfile(int[] pointValue,double[] distance){
ArrayList pv=new ArrayList();
ArrayList dist=new ArrayList();

pv.add(pointValue);
dist.add(distance);
int min=pointValue[0];
for(int i=0;i<pv.size();i++){
//System.out.print(pointValue[i]);
if(pointValue[i]<min){
min=pointValue[i];
}
}
for(int i=0;i<dist.size();i++){
System.out.print(distance[i]);
}


XYSeries series = new XYSeries("Average Weight");
for(int i=0;i<pointValue.length;i++){
//if(pointValue[i]!=0){
series.add(last,pointValue[i]);
last=distance[i];
//}
}


XYDataset xyDataset = new XYSeriesCollection(series);
JFreeChart chart= ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);
ValueAxis rangeAxis = chart.getXYPlot().getRangeAxis();
rangeAxis.setLowerBound(-3);
frame1=new ChartFrame("XYLine Chart",chart);

JButton saveimg=new JButton(new AbstractAction("Save as Image"){
public void actionPerformed(ActionEvent e) {
//some other lines of code...
}
});
jt.add(saveimg);
frame1.add(jt, BorderLayout.NORTH);
frame1.setVisible(true);
frame1.setSize(300,300);
}



public static void main(String ar[]){
Profile pro=new Profile();
int[] pv={2,3,0,5,-2,10};
double[] dist={1,4,8,12,14,20};
pro.generateProfile(pv, dist);



}
}

最佳答案

目前 XYAreaRenderer 不支持此功能。然而,实现这一点应该不会太难。查看 XYAreaRenderer.drawItem() 方法的代码。在此方法中,有一个局部变量 transZero,它是使用实际零值 (0.0) 计算的。如果您只是将 0.0 替换为其他值,这可能会满足您的需要。

实现此目的的最简单方法是创建您自己的渲染器,该渲染器派生自 XYAreaRenderer 并重写 drawItem()。在此方法中复制原始代码并按上述方式进行修改。

然后您只需通过编写来使用这个新的渲染器

XYAreaRenderer yourNewRenderer = ...; /* initialize here */
chart.getXYPlot().setRender(yourNewRenderer);

关于java - 我怎样才能制作如图所示的图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com