「java雷达」java生成雷达图
本篇文章给大家谈谈java雷达,以及java生成雷达图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Set keys=Map.keyset()怎么理解?
- 2、50分 求java graphics画雷达图的代码
- 3、在用java做模拟雷达的时候如何实现 扫描针遇到某个点时显示出点的坐标
- 4、JFreeChart的蜘蛛网图(又称雷达图,网状图)应该怎么写啊
- 5、用Java可以做哪些有趣的事情?
Set keys=Map.keyset()怎么理解?
有一个Map对象,这时候使用keySet()方法获取所有的key值,比如:
Map map = new HashMap();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "d");
Set keys1 = map.keySet();
Set keys2 = map.keySet();
Set keys3 = map.keySet();
上面三个set对象key1,key2,key3引用的是一个对象。这时map的keySet()方法只返回一个set实例,所以当从key1中删除一个对象时候,key2和key3将会受到影响。
keys1.remove(1);
System.out.println(keys1);
System.out.println(keys2);
System.out.println(keys3);
打印结果为:
[2, 4, 3]
[2, 4, 3]
[2, 4, 3]
扩展资料
Map是java中的一个接口,Map.Entry是Map的一个内部接口。对于Map中提供的一些常用方法,如map.keySet()、map.entrySet()、map.values()等方法大多数人都不是很熟悉。
map.keySet()方法返回值是Map中key值的集合;map.entrySet()的返回值是一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为EntryK,V。它表示的是Map中的一个实体(key-value)。
接口中有我们常用的getKey(),getValue方法。
主方法:
public static void main(String[] args) {
MapInteger,String map = new HashMapInteger,String();
map.put(1, "雷达1");
map.put(2, "雷达2");
map.put(3, "雷达3");
map.put(4, "雷达4");
iterator(map);
}
50分 求java graphics画雷达图的代码
有两个图你对比着看结果,
用/* */注释掉的可以和上边的同行数相换,你试一下。
//后面的是注释
import java.applet.Applet;
import java.awt.*;
public class katai3 extends Applet {
int pa[] = new int[10];// 定义3个数组,大小为10
int a[] = new int[10];
int b[] = new int[10];
public void init() { // 初始化数组pa[]
setBackground(new Color(255, 255, 255));// 设置背景颜色白色
pa[0] = 140;
pa[1] = 100;
pa[2] = 90;
pa[3] = 120;
pa[4] = 50;
pa[5] = 60;// 给数组pa[]附初值
pa[6] = 42;
pa[7] = 150;
pa[8] = 42;
pa[9] = 150;
}
public void paint(Graphics g) {
int r, i, k;// 定义3个变量r, i, k
for (k = 0; k 5; k++) {
r = k * 50;
for (i = 0; i 10; i++) {
double rad = Math.PI / 180;// 定义角度1度
int x1 = (int) (300 + r * Math.cos(36 * (i) * rad));// 定义网格
int y1 = (int) (300 - r * Math.sin(36 * (i) * rad));
int x2 = (int) (300 + r * Math.cos(36 * (i + 1) * rad));// 定义网格
int y2 = (int) (300 - r * Math.sin(36 * (i + 1) * rad));
int x3 = (int) (300 + (-215) * Math.sin(-36 * (i - 0.5) * rad));// 定义标记数字位置
int y3 = (int) (300 + (-215) * Math.cos(-36 * (i - 0.5) * rad));
/*
int x1=(int)(300+r*Math.cos(36*(i-0.5)*rad));//定义网格
int y1=(int)(300-r*Math.sin(36*(i-0.5)*rad));
int x2=(int)(300+r*Math.cos(36*(i+0.5)*rad));//定义网格
int y2=(int)(300-r*Math.sin(36*(i+0.5)*rad));
int x3=(int)(300+(-215)*Math.sin(-36*i*rad));//定义标记数字位置
int y3=(int)(300+(-215)*Math.cos(-36*i*rad));
*/
g.drawString(i + 1 + "", x3, y3);// 画数字
g.drawLine(x1, y1, x2, y2);// 画雷达
}
}
for (i = 0; i 10; i++) {
double rad = Math.PI / 180;// 定义角度1度
a[i] = (int) (300 + pa[i] * Math.sin(36 * (i-0.5) * rad));// 定义图形区域
b[i] = (int) (300 - pa[i] * Math.cos(36 * (i-0.5) * rad));
/*a[i]=(int)(300+pa[i]*Math.sin(36*i*rad));//定义图形区域
b[i]=(int)(300-pa[i]*Math.cos(36*i*rad));
*/
}
g.setColor(Color.red);// 调g的setColor方法定义颜色-红色
g.fillPolygon(a, b, 10);// 画图形填充区域
g.setColor(Color.black);// 调g的setColor方法定义颜色-黑色
g.drawPolygon(a, b, 10);// 画轮廓线
for (i = 0; i 10; i++) {
int x4 = (int) (300 + 200 * Math.cos(36 * i * Math.PI / 180));// 定义米字骨
int y4 = (int) (300 - 200 * Math.sin(36 * i * Math.PI / 180));
/*int x4=(int)(300+200*Math.cos(36*(i-0.5)*Math.PI/180));//定义米字骨
int y4=(int)(300-200*Math.sin(36*(i-0.5)*Math.PI/180));
*/
g.setColor(Color.black);// 调g的setColor方法定义颜色-黑色
g.drawLine(300, 300, x4, y4);// 画轮廓线
}
for (k = 0; k 5; k++) {// 画刻度线0, 50, 100, 150, 200
double rad = Math.PI / 180;// 定义角度1度
g.drawString(k * 50 + "",(int) (300 - 60 * k * Math.sin(15 * rad)), 300 - k * 50);
/* g.drawString(k*50+"",300,300-k*50);
*/
}
}
}
在用java做模拟雷达的时候如何实现 扫描针遇到某个点时显示出点的坐标
加个判断语句就可以了,
将显示的点加入一个集合对象,每进行一次移动扫描是判断集合对象的点是否在扫描线内,如果在则显示点的坐标
JFreeChart的蜘蛛网图(又称雷达图,网状图)应该怎么写啊
给你一个我从上反编译过来的,是个雷达图,包加载对了你就能看到效果
package demo;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.SpiderWebPlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.*;
public class SpiderWebChartDemo1 extends ApplicationFrame
{
public SpiderWebChartDemo1(String s)
{
super(s);
JPanel jpanel = createDemoPanel();
jpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(jpanel);
}
private static CategoryDataset createDataset()
{
String s = "First";
String s1 = "Second";
String s2 = "Third";
String s3 = "Category 1";
String s4 = "Category 2";
String s5 = "Category 3";
String s6 = "Category 4";
String s7 = "Category 5";
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(1.0D, s, s3);
defaultcategorydataset.addValue(4D, s, s4);
defaultcategorydataset.addValue(3D, s, s5);
defaultcategorydataset.addValue(5D, s, s6);
defaultcategorydataset.addValue(5D, s, s7);
defaultcategorydataset.addValue(5D, s1, s3);
defaultcategorydataset.addValue(7D, s1, s4);
defaultcategorydataset.addValue(6D, s1, s5);
defaultcategorydataset.addValue(8D, s1, s6);
defaultcategorydataset.addValue(4D, s1, s7);
defaultcategorydataset.addValue(4D, s2, s3);
defaultcategorydataset.addValue(3D, s2, s4);
defaultcategorydataset.addValue(2D, s2, s5);
defaultcategorydataset.addValue(3D, s2, s6);
defaultcategorydataset.addValue(6D, s2, s7);
return defaultcategorydataset;
}
private static JFreeChart createChart(CategoryDataset categorydataset)
{
SpiderWebPlot spiderwebplot = new SpiderWebPlot(categorydataset);
spiderwebplot.setStartAngle(54D);
spiderwebplot.setInteriorGap(0.40000000000000002D);
spiderwebplot.setToolTipGenerator(new StandardCategoryToolTipGenerator());
JFreeChart jfreechart = new JFreeChart("Spider Web Chart Demo 1", TextTitle.DEFAULT_FONT, spiderwebplot, false);
LegendTitle legendtitle = new LegendTitle(spiderwebplot);
legendtitle.setPosition(RectangleEdge.BOTTOM);
jfreechart.addSubtitle(legendtitle);
return jfreechart;
}
public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}
public static void main(String args[])
{
SpiderWebChartDemo1 spiderwebchartdemo1 = new SpiderWebChartDemo1("SpiderWebChartDemo1");
spiderwebchartdemo1.pack();
RefineryUtilities.centerFrameOnScreen(spiderwebchartdemo1);
spiderwebchartdemo1.setVisible(true);
}
}
用Java可以做哪些有趣的事情?
像Industrial Light and Magic这样的公司,就依赖Java来满足各种编程需求。事实上,你经常可以在ILM上发现几乎任何有开发需要的工作。在ILM工作有意思的地方在于,你可以把应用程序一起放到在大屏幕上查看结果。目前,ILM使用Java和Python来处理诸如测序动画场景等任务。
关于java雷达和java生成雷达图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-10,除非注明,否则均为
原创文章,转载请注明出处。