使用Java、Matlab画多边形闭合折线图

  由于写论文要将“哈密顿回路问题(TSP)”的求解中间结果表示出来,查了一下使用程序画多边形图形。现在在总结一下,这个图是“由给定节点首尾相连的”闭合多边形。

1.使用matlab作闭合多边形图

  没有找到直接画多边形的函数,只能是将各个点的坐标保存在数组中,将一个点与其相邻的点相连,并将最后一个点与第一个点连接。下面是一个示例的.m文件:

clear;
clc;
a=[0 2 4 6 8 10 12 14;0 2 1 4 6 6 5 7];  %要连接的点坐标 x;y
[n,m]=size(a);
for i=1:m-1;
    line([a(1,i),a(1,i+1)],[a(2,i),a(2,i+1)]);  %连接节点line([x1,x2],[y1,y2])
    hold on
end
hold on
line([a(1,1),a(1,m)],[a(2,1),a(2,m)]);  %首尾节点相连

 2.使用Java作闭合多边形图

  Java中的Graphics类drawPolygon函数提供了直接的多边形作图。

  函数原型:public abstract void drawPolygon(int[] xPoints, int[] yPoints,int nPoints)

   说明:(1)绘制一个由 xy 坐标数组定义的闭合多边形。每对 (xy) 坐标定义了一个点。nPoints表示线段的个数。

       (2)前面的 nPoint - 1 个线段是当 1 ≤ i ≤ nPoints 时,从 (xPoints[i-1], yPoints[i-1])(xPoints[i], yPoints[i]) 的线段。如果最后一个点和第一个点不同,则图形会通过在这两点间绘制一条线段来自动闭合。

  代码示例如下:

import java.applet.*;
import java.awt.*;
public class DrawPicture extends Applet
{   public void paint(Graphics g)
    {
      int px[]={20,70,130,240};
      int py[]={20,150,100,130};
      g.drawPolygon(px,py,4);
    }
}

  执行结果:

  

3.说明

  是否能构成多边形,凸多边形,还是凹多边形,这些与给定的点的顺序有关。

  程序只是负责将相邻的节点连接, 以及首尾连接。

时间: 2024-08-02 00:17:48

使用Java、Matlab画多边形闭合折线图的相关文章

java和matlab画多边形闭合折线图示例讲解_java

1.使用matlab作闭合多边形图 没有找到直接画多边形的函数,只能是将各个点的坐标保存在数组中,将一个点与其相邻的点相连,并将最后一个点与第一个点连接.下面是一个示例的.m文件: 复制代码 代码如下: clear;clc;a=[0 2 4 6 8 10 12 14;0 2 1 4 6 6 5 7];  %要连接的点坐标 x;y[n,m]=size(a);for i=1:m-1;    line([a(1,i),a(1,i+1)],[a(2,i),a(2,i+1)]);  %连接节点line([

vb-关于VB MSCHART控件画柱状折线图的求助

问题描述 关于VB MSCHART控件画柱状折线图的求助 各位大神,小弟求教如何使用VB 中MSCHART控件画出柱状折线图. 例:柱状显示每月实际销量,折线显示销售目标 解决方案 http://wenku.baidu.com/link?url=4dnfuHhQFd_o4Ms3Mybj_C87iVPKPPuz3TAsNVuhQ2q73fnNoFepsKD1ke3Sb2n_e4C2BNW67uwa7aAwGRsArAL_hsVNwyl3lI9VtGdIwGa http://www.docin.co

ASP.NET画柱状图和折线图

asp.net|折线图|柱状图 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlContro

如何使用C#画一个对数折线图?(可以利用mschart空间)

问题描述 要求:横坐标(30~~~1000之间)纵坐标(0~~~~100随机数)画出折线图-刚开始学C#迷茫中,求高手指点迷津.mschart怎么来用呢?(我已经安装完毕)跪谢--T.T 解决方案 解决方案二:首先你要有绘制的坐标点数组这个你计算得到然后用gdi来画

用JFreeChart画柱状图和折线图的的复合图(当数据小于0时,柱子显示绿色,在Y轴负方,上数据大于0时,柱子显示红色,在Y轴正方)怎样画?

问题描述 [b][/b] 问题补充:我试过你说的这种方法,但判断的时候无效Rainbow702 写道 解决方案 这个柱状图,显示不同的颜色可以参考,官方的demo中的 dual axis demo[url]http://www.jfree.org/jfreechart/samples.html[/url]解决方案二:为什么判断与 0 的大小关系会行不通呢?这个有点说不过去啊?解决方案三:我试过你说的这种方法,但判断的时候无效?你是指判断什么?判断与0的关系?解决方案四:以前只是使用过 JFree

java web-javaWeb项目折线图根据y轴设置背景色

问题描述 javaWeb项目折线图根据y轴设置背景色 java项目正在做一个折线图,需要根据y轴的值设置背景色, 无论是用jFreechart还是fusioncharts做,背景色现在还没搞定, 求助.. 解决方案 http://blog.csdn.net/yiluoak_47/article/details/7395205

Matlab画柱状和折线对照图

                   上面是效果图,看着很不错吧,主要的问题在于用XTickLabel设置横坐标时候,横坐标会扩展,就是说如果label是[1 2 3],咱就做了三组试验,参数分别是 1 2 3,但是显示是1 2 3 1 2 3 1 2....扩展了,不是需要的,如何解决呢? 同时设置XTickLabel和XTick,只需要长度一直,显示结果便是XTickLabel的:画折线图的时候也可以这样,还可以, plot(x,res(:,i)),x = [ 5 10 15 20 25].

用代码画折线图/柱形图/条形图/饼图

饼图|折线图|柱形图 本文将介绍在.Net中如何使用代码画图表,就像用MS Excel生成的图表一样.也可以画像DataGrid一样的表格. 在.Net中,微软给我们提供了画图类(System.Drawing.Imaging),在该类中画图的基本功能都有.比如:直线.折线.矩形.多边形.椭圆形.扇形.曲线等等,因此一般的图形都可以直接通过代码画出来.接下来介绍一些画图函数:Bitmap bMap=new Bitmap(500,500) //定义图像大小:bMap.Save(Stream,Imag

java原生态的统计图控件——折线图例子

前言 由于一个项目要展示某系统内一段时间内的温度.湿度.二氧化碳浓度.光照强度等变化情况,需要用到折线图控件,便上网搜索一番,发现了AChartEngine.HoloGraphLibrary等开源控件库. 体验了一番,AChartEngine功能虽多,但不易上手,界面也不美观:HoloGraphLibrary虽然很漂亮,但功能又太少. 便决定自己开发折线图控件,锻炼锻炼. 根据需求,需要实现的功能点有: 刻度自适应(根据数据来调整刻度值及其间隔):数据多的需要滑动展示更多.需要注意的地方有: 节