我有一个ASP.NET / C#Web应用程序,我想添加一些功能,以Edward Tufte的方式从业务数据生成非常漂亮的图表。
更具体地说,它是框图,其中框的大小和形状将与所表示的业务对象的某个值成比例,着色也具有商业含义,等等。
完全自定义(不是经典的图表设计)具有复杂的概念,例如网络(必须显示对象之间的关系,例如它们在分发网络中的位置)和容器,这些容器的大小正确,具体取决于它们内部的大小。
我猜这个图表将在服务器端生成为图像文件,然后显示在页面中。
我可以用什么库/组件来回答这种需求?
答案 0 :(得分:0)
http://www.telerik.com/products/silverlight/chart.aspx
http://www.telerik.com/products/aspnet-ajax/chart.aspx
也许这有帮助。
答案 1 :(得分:0)
您可以使用普通的canvas在客户端执行此操作。
查看Processing.js。您可以绘制箭头like this:
// Renders a vector object 'v' as an arrow and a location 'loc'
void drawVector(Vector3D v, Vector3D loc, float scayl) {
pushMatrix();
float arrowsize = 4;
// Translate to location to render vector
translate(loc.x,loc.y);
stroke(255);
// Call vector heading function to get direction (note that pointing up is a heading of 0) and rotate
rotate(v.heading2D());
// Calculate length of vector & scale it to be bigger or smaller if necessary
float len = v.magnitude()*scayl;
// Draw three lines to make an arrow (draw pointing up since we've rotate to the proper direction)
line(0,0,len,0);
line(len,0,len-arrowsize,+arrowsize/2);
line(len,0,len-arrowsize,-arrowsize/2);
popMatrix();
}
可能不符合您的确切要求,但Google Charts是一种通过构建网址生成图表的快捷而优雅的方法。