当前位置: 首页 > 面试题库 >

在JFreeChart中将原点从(0,0)移至(0,50)

曾景龙
2023-03-14
问题内容

如图所示,该图是从y = 0行开始的,这里我想从
y = 50开始绘制一个图,如何在JFreeChart?中指定呢?

这是一些代码:

public class Profile  {



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

        pv.add(pointValue);
        dist.add(distance);
        for(int i=0;i<pv.size();i++){
            System.out.print(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;

      chart= ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);
      ChartFrame frame1=new ChartFrame("XYLine Chart",chart);
      frame1.setVisible(true);
      frame1.setSize(300,300);
    }

问题答案:

您可以使用
ValueAxis类的setLowerBound()方法指定Y轴的底部值。

使用您的示例:

JFreeChart chart;
chart = ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);

ValueAxis rangeAxis = chart.getXYPlot().getRangeAxis();
rangeAxis.setLowerBound(50.0f);


 类似资料:
  • 问题内容: 情况: 在PDFBox中,PDRectangle对象的默认原点(0,0)似乎是页面的左下角。 例如,以下代码在页面的左下角为您提供一个正方形,并且每边长100个单位。 问题: 是否可以将原点更改为UPPER-LEFT角,例如,上面的代码将在页面的UPPER-LEFT角处为您提供相同的正方形? 我问的原因: 我正在使用PDFTextStripper获取文本的坐标(通过使用提取的TextP

  • 我在将JFreeChart生成的点转换为直线时遇到问题。 首先,有一些来源确实帮助我达到了这一点 使用JfreeChart动态向XYSeries添加点 JFreechart烛台图表拖动时的怪异行为 http://www.java2s.com/Code/Java/Chart/JFreeChartXYLineAndShapeRendererDemo.htm 其次,这是我的代码 这是输出的图像 我的主要

  • 情况: 在PDFBox中,PDRectangle对象的默认原点(0,0)似乎是页面的左下角。 例如,下面的代码在页面的左下角为您提供一个正方形,每边长度为100个单位。 问题: 是否可以将原点更改为左上角,这样,例如,上面的代码将在页面的左上角给出相同的正方形?

  • 对于我的应用程序日志,我计划将日志从我的内部服务器转发到AWS Kinesis Firehose。我正在尝试使用Logstash和log-stash-output-plugin https://github.com/samcday/logstash-output-kinesis 但我认为这个插件需要将日志数据转发到Kinesis数据流,然后我们可以创建一个管道到Kinesis消防水管。如果我们指向

  • 问题内容: 更新: 我已经解决了这个问题,并且找到了一个比提供答案更简单的方法。我的解决方案是使SPACESHIP的速度等于从手指触摸到的距离。为了加快运动速度,可以将该速度乘以一个常数。在这种情况下,我使用了16。我还摆脱了在touchesEnd事件中将lastTouch设置为nil的问题。这样,即使我松开手指,船仍会停下来。 =============================== 我有

  • 问题内容: 最好的方法是,在单击表单内部的Enter时,将焦点转到下一个输入,而不是使用angularjs提交表单。 我有一个包含许多字段的表单,客户习惯于按Enter键移至下一个输入(来自桌面应用程序)。当用户点击Enter时,angularjs保存表单。我喜欢改变这个。可能吗 ? 问题答案: 我建议制定一个自定义指令。这样的事情。我还没有测试。 这样的事情应该起作用。您可能不得不周到一些东西。