首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

像彩票那样走势图要如何做啊

2012-01-01 
像彩票那样走势图要怎么做啊。。给个思路。。或是简单说一下[解决办法]每两个数之间确定一条直线...多分几个点

像彩票那样走势图要怎么做啊。。
给个思路。。或是简单说一下

[解决办法]
每两个数之间确定一条直线...

多分几个点,然后连上线行了.
[解决办法]
我以前用VML
感觉不错
只是他只能在IE下工作
[解决办法]
Dundas.Chart.ASP.NET.Enterprise.4.1.rar

[解决办法]
彩票也有走势啊,那东西能算出来吗
[解决办法]
http://www.51aspx.com/CV/WebChart
[解决办法]
可以用owc
[解决办法]
http://www.wave12.com

图表组件wsChart4.6(DLL版)



[解决办法]
这是我以前写的一个画图的

用的是owc

输入参数是两个炼表
以其中之一作说明 MutiaxesX
MutiaxesX里面包含多个Arraylist
每一个记录了一条曲线的横轴的坐标
MutiaxesY同理,分别记录了这几条曲线的Y坐标
mapwidth可以设为800
高可以设为400

剩下两个word是图的title
show——mode对你来说没用

public class ChartDrawing : System.Web.UI.Page
{
ArrayList MutiaxesX;
ArrayList MutiaxesY;
ArrayList Mutinodelist;
int map_width;
int map_height;
int chart_width;
int chart_height;
Point leftup;
Point rightdown;
string[] keyword;
int max;
const int margin = 75;
const int pointadius = 3;
const int axesXcount = 4;
const int axesYcount = 6;
const int stringwidth = 30;
const int stringheight = 12;
float expandrate = 0.1F;
int legendareaX;
int legendareaY;
string showmode;
string strkeyword;

ArrayList lengendword;

Color[] pointcolor ={
Color.Blue,
Color.Red,
Color.Green,
Color.Purple
};


public ChartDrawing(ArrayList MutiaxesX, ArrayList MutiaxesY, int mapwidth, int mapheight, string word,string _mode)
{

max = findmax(MutiaxesY);
map_width = mapwidth;
map_height = mapheight;
chart_width = map_width - margin * 2;
chart_height = map_height - margin * 2;
leftup = new Point(margin, margin);
rightdown = new Point(leftup.X + chart_width, leftup.Y + chart_height);
legendareaX = margin + chart_width - 50;
legendareaY = 25;
this.Mutinodelist = new ArrayList();
this.MutiaxesX = MutiaxesX;
//this.axesY = new ArrayList();
this.MutiaxesY = MutiaxesY;
this.keyword = word;
this.showmode = _mode;
int maxY = max + Convert.ToInt32(max * expandrate);
lengendword = new ArrayList();


for (int i = 0; i < keyword.Length; i++)
if (keyword[i] != " ") lengendword.Add(keyword[i]);

for (int j = 0; j < MutiaxesX.Count; j++)
{
ArrayList nodelist = new ArrayList();
ArrayList axesX = (ArrayList)MutiaxesX[j];
ArrayList axesY = (ArrayList)MutiaxesY[j];



for (int i = 0; i < axesX.Count; i++)
{
Point p = new Point();
if (axesX.Count == 1)
p.X = margin;
else
p.X = margin + chart_width * i / (axesX.Count - 1);
if (max == 0)
p.Y = map_height - margin;
else
p.Y = map_height - margin - chart_height * Convert.ToInt32(axesY[i]) / (maxY);
nodelist.Add(p);
}
Mutinodelist.Add(nodelist);
}
}

private int findmax(ArrayList MutiaxesY)
{
int max = 0;
for (int i = 0; i < MutiaxesY.Count; i++)
{
ArrayList axesY = (ArrayList)MutiaxesY[i];
for (int j = 0; j < axesY.Count; j++)
{
if (Convert.ToInt32(axesY[j].ToString()) > max)
max = Convert.ToInt32(axesY[j].ToString());
}
}
return max;
}

public ImageMap paint()
{
Bitmap myPalette = new Bitmap(map_width, map_height);
Graphics myGraghics = Graphics.FromImage(myPalette);
drawtitile(myGraghics);
drawline(myGraghics);
drawpoint(myGraghics);
drawaxes(myGraghics);
drawlegend(myGraghics);

string picname = getPicname();
myPalette.Save(Server.MapPath( "images ") + "\\ " + picname + ".gif ", ImageFormat.Gif);
myGraghics.Dispose();
myPalette.Dispose();

ImageMap map = new ImageMap();

map.ImageUrl = "images/ " + picname + ".gif ";
string str = " ";
for (int i = 0; i < keyword.Length; i++)
str += keyword[i] + " ";
map.AlternateText = str;
return AddHotPoint(map);
}

string getPicname()
{
DirectoryInfo dir = new DirectoryInfo(Server.MapPath( "images "));
FileInfo[] files = dir.GetFiles( "*.* ");
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i];
file.Delete();
}

string datetime = DateTime.Now.ToString();
datetime = datetime.Replace( "- ", " ");
datetime = datetime.Replace( ": ", " ");
datetime = datetime.Replace( " ", " ");
return datetime;
}

private void drawtitile(Graphics myGraghics)
{

Pen blackPen = new Pen(Color.Black, 1);
//边框
myGraghics.FillRectangle(new SolidBrush(Color.White), 0, 0, map_width , map_height);
//坐Y标轴(from leftup to leftdown)
myGraghics.DrawLine(blackPen, new Point(leftup.X, leftup.Y ), new Point(leftup.X, leftup.Y + chart_height));

//arrow of X axes
//myGraghics.DrawLine(blackPen, new Point(leftup.X, leftup.Y - 30), new Point(leftup.X - 5, leftup.Y - 20));
//myGraghics.DrawLine(blackPen, new Point(leftup.X, leftup.Y - 30), new Point(leftup.X + 5, leftup.Y - 20));

//坐Y标轴(from rightup to rightdown)


myGraghics.DrawLine(blackPen, new Point(rightdown.X, leftup.Y), new Point(rightdown.X, leftup.Y + chart_height));

//坐X标轴(from leftup to rightup)
myGraghics.DrawLine(blackPen, new Point(rightdown.X - chart_width, rightdown.Y), new Point(rightdown.X , rightdown.Y));
//坐X标轴(from leftdown to rightdown)
myGraghics.DrawLine(blackPen, new Point(rightdown.X - chart_width, rightdown.Y - chart_height), new Point(rightdown.X, rightdown.Y - chart_height));

//arrow of X axes
//myGraghics.DrawLine(blackPen, new Point(rightdown.X + 25, rightdown.Y - 5), new Point(rightdown.X + 30, rightdown.Y));
//myGraghics.DrawLine(blackPen, new Point(rightdown.X + 25, rightdown.Y + 5), new Point(rightdown.X + 30, rightdown.Y));
//title
//string title=keyword[0];
//for (int i = 1; i < keyword.Length; i++)
//{
// title += "& ";
// title += keyword[i];
//}
//myGraghics.DrawString( "\ " " + title + "\ " ", new Font( "Arial ", 16), new SolidBrush(Color.Black), new PointF(map_width / 2, stringheight));
//series name
myGraghics.DrawString( "评价度 ", new Font( "Arial ", 10), new SolidBrush(Color.Black), new PointF(leftup.X - 25, leftup.Y - 30));
myGraghics.DrawString( "时间 ", new Font( "Arial ", 10), new SolidBrush(Color.Black), new PointF(rightdown.X + 10, rightdown.Y - 10));
}


[解决办法]
好像没法完 写不下了
[解决办法]
说你邮箱
[解决办法]
EXCEL里就有那种股票的趋势图.

OWC应该是同样的.
[解决办法]
DUDASCHART
[解决办法]
dudas chart 功能最强大

[解决办法]
mark
[解决办法]
mark
[解决办法]
mark
[解决办法]
up
[解决办法]
zedgraph
[解决办法]
www.dullwolf.cn
有几个VML例子,偶做滴!~~
[解决办法]
Dundas Dundas 特好用

热点排行