相关疑难解决方法(0)

用Java旋转数据和文本的坐标平面

我需要:
1.)移动原点并旋转坐标平面,使x值向右前进,y值从新原点向上进展(需要在内部的蓝色矩形的左下角)代码如下).这将使我能够在下面的代码中绘制x,y坐标对的点.
2.)绘制数据图的y轴上的抽动标记的旋转标签.

下面的代码设置了这个问题.它有效,除了两个问题:
1.)数据点被绘制,左上角为原点,y值向下下降
2.)y轴上的标记标记未被绘制屏幕上

任何人都可以告诉我如何修复下面的代码,以便它修复这两个问题,并做上面第一段描述的内容?

代码在以下两个java文件中:

DataGUI.java

import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;

class DataGUI extends JFrame{
DataGUI() {
    super("X,Y Plot");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setPreferredSize(new Dimension(800, 400));
    this.pack();
    this.setSize(new Dimension(800, 600));
    this.setLocationRelativeTo(null);


    setLayout(new GridLayout());
    ArrayList<Double> myDiffs = new ArrayList<Double>();
            myDiffs.add(25.0);
            myDiffs.add(9.0);
            myDiffs.add(7.0);
            myDiffs.add(16.0);
            myDiffs.add(15.0);
            myDiffs.add(6.0);
            myDiffs.add(2.0);
            myDiffs.add(8.0);
            myDiffs.add(2.0);
            myDiffs.add(27.0);
            myDiffs.add(14.0);
            myDiffs.add(12.0);
            myDiffs.add(19.0);
            myDiffs.add(10.0);
            myDiffs.add(11.0);
            myDiffs.add(8.0);
            myDiffs.add(19.0);
            myDiffs.add(2.0);
            myDiffs.add(16.0);
            myDiffs.add(5.0);
            myDiffs.add(18.0);
            myDiffs.add(23.0);
            myDiffs.add(9.0);
            myDiffs.add(4.0);
            myDiffs.add(8.0);
            myDiffs.add(9.0);
            myDiffs.add(3.0);
            myDiffs.add(3.0);
            myDiffs.add(9.0);
            myDiffs.add(13.0);
            myDiffs.add(17.0);
            myDiffs.add(7.0);
            myDiffs.add(0.0);
            myDiffs.add(2.0);
            myDiffs.add(3.0);
            myDiffs.add(33.0);
            myDiffs.add(23.0);
            myDiffs.add(26.0);
            myDiffs.add(12.0);
            myDiffs.add(12.0);
            myDiffs.add(19.0); …
Run Code Online (Sandbox Code Playgroud)

java plot swing affinetransform graphics2d

6
推荐指数
2
解决办法
5894
查看次数

使用JFreeChart更改系列时出现随机错误

我正在制作一个显示背景计算结果的GUI.但在此之前,我想测试更改数据集.这是我的代码:

 DefaultXYDataset dataset = new DefaultXYDataset();
@Override
        public void run() {
                // TODO Auto-generated method stub
                for (int i = 0; i < periods; i++) {
                        series[0][i] = (double) i;
                        series[1][i] = 0;
                }
                dataset.addSeries("Series0", series);
                for (int it = 0; it < 10; it++) {
                        series[1][random.nextInt(periods)] =  random.nextInt(100) / 2;
                        double[][] d = new double[2][periods];
                        for (int i = 0; i < periods; i++) {
                                d[0][i] = series[0][i];
                                d[1][i] = series[1][i];
                        }
                        dataset.removeSeries("Series0");
                        dataset.addSeries("Series0", series);
//                      try {
// …
Run Code Online (Sandbox Code Playgroud)

java concurrency swing jfreechart

6
推荐指数
1
解决办法
5660
查看次数

使用JFreeChart和滑块更新图形

我有一个描述管道压力的数组的时间历史.因此,对于每个delta t,我在管道长度上有一系列压力值.我想用JFreeChart绘制沿管道长度的压力,并选择哪个delta t用滑块绘制,这样无论何时用户移动滑块,图形都会更新来自不同delta t的值.我也将瓷砖重置为管道最后部分的压力.会发生什么是标题是更新,意味着数据正在更新,但曲线保持不变.我已经在论坛上阅读了所有可能的主题并尝试了我能想到的一切,但它没有用!这是我的类的代码,它扩展了JPanel,其中方法jSlider1StateChanged听到滑块位置的变化,createChart在程序启动时创建一个新图表,dataSetGen(int ndt)根据滑块位置生成图形的新数据集:

public class MyMainPanel extends JPanel {

  private JFreeChart jc;
  private OutputPipe op;
  private DefaultXYDataset ds; 
  private javax.swing.JFrame jFrame1;
  private javax.swing.JSlider jSlider1;
  private pipevisualizer.MyChartPanel pnlChartPanel;                       

  private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {                                      
        int ndt = ((JSlider) evt.
                getSource()).
                getValue();
        System.out.println("Slider1: " + ((JSlider) evt.
                getSource()).
                getValue());

        dataSetGen(ndt);
        int a = 0;
        jc.fireChartChanged();
  }                

  private void dataSetGen(int ndt) {
        ArrayList<OutputPipeDt> opDtArray = op.getOpLit();
        OutputPipeDt opDt = opDtArray.get(ndt);

        double[] H = opDt.getH();
        double[] l = new double[H.length];
        double[] p = …
Run Code Online (Sandbox Code Playgroud)

java events swing jfreechart jpanel

5
推荐指数
1
解决办法
5667
查看次数