⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphpanel.java

📁 人工智能代码JAVA程序,包括神经网络,遗传算法
💻 JAVA
字号:
/** * Title:        <p> * Description:  <p> * Copyright:    Copyright (c) <p> * Company:      <p> * @author * @version 1.0 */import javax.swing.*;import java.awt.*;public class GraphPanel extends java.awt.Canvas { // JPanel {    public GraphPanel(float[] data1, float[] data2) {        super();        this.data1 = data1;        this.data2 = data2;    }    Color black = new Color(0, 0, 0);    float[] data1;    float[] data2;    public void paint(Graphics g) {        if (data1 == null || data2 == null) return;        int width = this.getWidth();        int height = this.getHeight();        System.out.println("height=" + height);        float min = 99999999.9f;        float max = -min;        int maxindex = 0;        float maxval = 0.0f;        for (int i = 0; i < data1.length; i++) { // assume length of data1 and data2 are the same            if (min > data1[i]) min = data1[i];            if (max < data1[i]) max = data1[i];            if (min > data2[i]) min = data2[i];            if (max < data2[i]) max = data2[i];        }        System.out.println("min=" + min + ", max=" + max);        g.setColor(Color.red);        for (int i = 0; i < data1.length - 1; i++) {            float y1 = height - 5 - 0.95f * height * ((data1[i] - min) / (max - min));            float y2 = height - 5 - 0.95f * height * ((data1[i + 1] - min) / (max - min));            //System.out.println("data["+i+"]="+data[i]+", y1="+y1+", y2="+y2);            g.drawLine(i + 20, (int) y1, i + 21, (int) y2);            y1 = height - 5 - 0.95f * height * ((data2[i] - min) / (max - min));            y2 = height - 5 - 0.95f * height * ((data2[i + 1] - min) / (max - min));            //System.out.println("data["+i+"]="+data[i]+", y1="+y1+", y2="+y2);            g.drawLine(i + 20, (int) y1, i + 21, (int) y2);        }        float yzero = height - 5 - 0.95f * height * ((0.0f - min) / (max - min));        g.setColor(black);        g.drawLine(20, (int) yzero, data2.length + 19, (int) yzero);        g.drawLine(width / 2, height / 2 - 118, width / 2, height / 2 + 118);        g.drawString("Sigmoid", width / 2 - 100, 3 * height / 4 - 10);        g.drawString("SigmoidP", width / 3 - 5, 1 * height / 4 + 10);        g.drawString("-5", 4, (int) yzero);        g.drawString("5", width - 19, (int) yzero);        g.drawString("0.5", width / 2 - 7, 12);        g.drawString("-0.5", width / 2 - 9, height - 3);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -