asp.net实现3D柱形图 RT 如何用chart实现3D柱形图 或者其他方式在ASP.NET中实现3D柱形图如果有demo的请邮箱[email protected] 非常感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我有chart 的帮助文档。里面很详细! demo没有! 里面有示意图,有属性设置 DEMO已经发你邮箱([email protected]) AppearanceType 属性可以设置3D Office Web Components(简称OWC) 这里也是OWChttp://www.alixixi.com/weBuild/subject4/20051213141483.html 直接用vs2010中的webchart控件即可,直接拖到页面,然后添加数据点即可! owc我觉得用起来还是不错的给个链接你自己找找吧http://www.123aspx.com/Directory.aspx?dir=251 很感谢 楼上各位的帮忙 有没有做个的呢 vs2008 ASP.NET实现3D柱形图 效果12楼 我觉得owc就可以啊,你可以修改里面的属性设置。不知道你具体要什么效果 我给你发了全套的demo,参考着引用就好。查看下吧,有问题再邮箱我吧。 DEMO 为什么蛋疼?没收到demo?还是不知道如何使用?我给你贴段代码:首先要引用:FusionCharts.dll然后看过demo中的示例后就知道实际上是一个拼图形XML数据的过程,这个过程可以用JQUERY实现字符串拼接,也可以通过.cs中拼接实现,我给你发一段.cs中拼接的代码做参考吧。litChart.Text 是.net控件,类似panel直接拖拽到 aspx界面即可。StringBuilder xmlData = new StringBuilder(); StringBuilder strData = new StringBuilder(); //FusionCharts:横坐标标签较长时显示方式 //1.wrap方式labelDisplay='WRAP' //2.旋转显示labelDisplay='Rotate' slantLabels='1' 45度旋转或90度旋转labelDisplay='ROTATE' //3.交错显示labelDisplay='Stagger' staggerLines='n' n=3 //4.每隔N个显示一个标签labelStep='4' showValues='0' //5.截取显示,在tooltip中全显示 xmlData.Append("<chart subcaption='行业资金流量' decimals='2' decimalPrecision = '2' limitsDecimalPrecision='2' showLabels='1' showValues='0'>");//拼图形显示元素*****重要点strData.AppendFormat("<set label='" + strXValue + "' value='{0}' Color='" + strColor + "' toolText='" + dtInflux.Rows[i]["VocationName"] + ",净流入(万元):" + fValue + "'/>", fValue);xmlData.Append(strData.ToString()); xmlData.Append("<styles>"); xmlData.Append("<definition>"); xmlData.Append("<style name='LegFont' type='font' size='12'/>"); xmlData.Append("<style name='CaptionFont' type='font' size='15'/>"); xmlData.Append("</definition>"); xmlData.Append("<application>"); xmlData.Append("<apply toObject='CAPTION' styles='CaptionFont' />"); xmlData.Append("<apply toObject='SUBCAPTION' styles='CaptionFont' />"); xmlData.Append("<apply toObject='DATALABELS' styles='LegFont' />"); xmlData.Append("<apply toObject='TOOLTIP' styles='LegFont' />"); xmlData.Append("</application>"); xmlData.Append("</styles>"); xmlData.Append("</chart>"); //MSColumnLine3D.swf 一个Y轴的3D组合图 //MSColumn3DLineDY.swf 双Y轴3D组合图MSCombiDY2D.swf //Create the chart - MS Column 3D Line Combination Chart with data contained in strXML litChart.Text = FusionCharts.RenderChartHTML("../FusionCharts/Column3D.swf", "", xmlData.ToString(), strFlashName, "700", "300", false); 你给我的确实我没看懂 不过还是很感谢你 可不可以搞一个可以运行的demo呢 搞定马上结贴了 FusionCharts.RenderChartHTML("../FusionCharts/Column3D.swf"以上的swf的选择是根据你的应用选择的,自己想展示什么图形,就选择什么图形的swf,进行参数设置应用即可。//拼图形显示元素*****重要点(此处是需要循环赋值的)for(*******){strData.AppendFormat("<set label='" + strXValue + "' value='{0}' Color='" + strColor + "' toolText='" + dtInflux.Rows[i]["VocationName"] + ",净流入(万元):" + fValue + "'/>", fValue);xmlData.Append(strData.ToString());} 高手 直接给我个demo吧 我看着不太明白 时间紧迫 demo都发你邮箱啦,没收到?建立一个虚拟目录,然后浏览:http://localhost/FusionCharts_Evaluation-v3.2/Gallery/index.html有很多种图形,选择http://localhost/FusionCharts_Evaluation-v3.2/Gallery/Column3D/Col3D2.html显示3D柱形图,存HTML+JQUERY的形式实现。如果用想在.cs中实现就用刚我给你的代码然后aspx中显示如下就可以用了,前提保证DLL引用了,以及swf文件路径正确。aspx中显示:<script src="../FusionCharts/FusionCharts.js" type="text/javascript"></script><form id="form1" runat="server"> <asp:Literal ID="litChart" runat="server"></asp:Literal></form> 调用JQUER 的 插件 有个pei3d falsh 之前做了一个饼图的 直接Append 拼数据上去 柱形也差不多这 你都两颗星啦,应该是个高手了json是一种方式,另一种也可以用简单的 拼接 html,然后作为数据源展示的方式,那个.cs文件中的写法,就是后台拼的整个HTML的形式,最后输出在aspx的页面上,你简单试试应该很容易的,别慌张,别太着急,看到demo尝试一个后就都明白了。 表示FusionCharts 很强大,很好用 FusionCharts 很强大,LZ要否,有例子 http://www.cnblogs.com/jiangbiao/archive/2011/09/09/2172635.html附DEMO下载! http://www.alixixi.com/weBuild/subject4/20051213141483.html 也推荐一个highcharts这个也非常的强大。 FusionCharts 是用flash实现的 微软的也有。 FusionCharts 是用flash实现的 微软的也有。 看这个吧,什么里面图都有。http://demos.devexpress.com/XtraChartsDemos/BarViewTypes/Bar3DSeries.aspx 真無聊,用它就KOLhttp://www.dotnetcharting.com/ 看这个吧利用DevExpress的WebChartControl绘制柱状图,线状图与饼状图示例显示结果如下: http://download.csdn.net/detail/fengyarongaa/2911624我的资源有一套这样的东西 自己 找合适的样式 添加JS<script type="text/javascript" src="Javascript/FusionCharts.js"></script><asp:Label ID="Label2" runat="server" Text=""></asp:Label>添加引用,然后根据你的后台数据取出数据拼接成FusionCharts能识别的string,付给Label就可以了。using InfoSoftGlobal;Label2.Text = CreatChart();public string CreatChart() { string strXML; strXML = ""; string T = ""; string Charts = ""; if (DropDownList1.SelectedValue == "1" || DropDownList1.SelectedValue == "10") { string SelectAll = string.Format("select * from qa2012"); strXML += "<graph caption='" + this.DropDownList1.SelectedItem.Text + "' xAxisName='选项' yAxisName='数目(总数:" + cs.ReturnDataSet(SelectAll).Tables[0].Rows.Count + ")' BaseFontSize='17' decimalPrecision='0' formatNumberScale='0'>"; if (DropDownList1.SelectedValue == "1") { for (int i = 0; i < 11; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Column3D.swf", "", strXML, "My", "700", "433", false, false); } else { for (int i = 0; i < 4; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Column3D.swf", "", strXML, "My", "700", "433", false, false); } } else { string SelectAll = string.Format("select * from qa2012"); strXML += "<graph caption='" + this.DropDownList1.SelectedItem.Text + "' xAxisName='选项' yAxisName='数目(总数:" + cs.ReturnDataSet(SelectAll).Tables[0].Rows.Count + ")' BaseFontSize='17' decimalPrecision='0' formatNumberScale='0'>"; if (DropDownList1.SelectedValue == "2" || DropDownList1.SelectedValue == "3") { for (int i = 0; i < 5; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false); } else if (DropDownList1.SelectedValue == "4") { for (int i = 0; i < 3; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false); } else if (DropDownList1.SelectedValue == "20") { for (int i = 0; i < 2; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false); } else { if (DropDownList1.SelectedValue.ToString() != "26") { for (int i = 0; i < 4; i++) { char A = 'A'; int S = Convert.ToInt32(A) + i; T = Convert.ToChar(S).ToString(); string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString()); string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count); strXML += Result; } strXML += "</graph>"; Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false); } } } return Charts; }这样就能实现想要的动态3D flash效果 你可以百度搜索下webChartControl 会找到相应的使用方法 不理解flash,不要用FusionCharts 要求不是很高的話,請y用http://www.winnovative-software.com/WebChart.aspx 获取gridview中控件的值 谁能给个ASP.NET的【团购网站】源码?最好比较完整的 ASP.NET Page_Load执行两次 求高人指点如何快速的掌握EXT .ClientID是取得控件在客户端的ID,那控件在客户端的Name属性怎么取得? datadrid里单击列的问题,急啊急啊 Web 窗体用户控件 和 自定义控件 有什么区别? 如何判断今天是星期几呀,有函数吗? 请求写一个正确的用于ASP。NET AJAX1.0的JAVASCRIT脚本文件 关于引用的奇怪情况 .net大神们,如何获取treeview单击的节点信息啊 如何动态修改sqldatesource
demo没有! 里面有示意图,有属性设置
Office Web Components(简称OWC)
给个链接你自己找找吧http://www.123aspx.com/Directory.aspx?dir=251
首先要引用:FusionCharts.dll
然后看过demo中的示例后就知道实际上是一个拼图形XML数据的过程,这个过程可以用JQUERY实现字符串拼接,也可以通过.cs中拼接实现,我给你发一段.cs中拼接的代码做参考吧。
litChart.Text 是.net控件,类似panel直接拖拽到 aspx界面即可。StringBuilder xmlData = new StringBuilder();
StringBuilder strData = new StringBuilder();
//FusionCharts:横坐标标签较长时显示方式
//1.wrap方式labelDisplay='WRAP'
//2.旋转显示labelDisplay='Rotate' slantLabels='1' 45度旋转或90度旋转labelDisplay='ROTATE'
//3.交错显示labelDisplay='Stagger' staggerLines='n' n=3
//4.每隔N个显示一个标签labelStep='4' showValues='0'
//5.截取显示,在tooltip中全显示 xmlData.Append("<chart subcaption='行业资金流量' decimals='2' decimalPrecision = '2' limitsDecimalPrecision='2' showLabels='1' showValues='0'>");
//拼图形显示元素*****重要点
strData.AppendFormat("<set label='" + strXValue + "' value='{0}' Color='" + strColor + "' toolText='" + dtInflux.Rows[i]["VocationName"] + ",净流入(万元):" + fValue + "'/>", fValue);
xmlData.Append(strData.ToString()); xmlData.Append("<styles>");
xmlData.Append("<definition>");
xmlData.Append("<style name='LegFont' type='font' size='12'/>");
xmlData.Append("<style name='CaptionFont' type='font' size='15'/>");
xmlData.Append("</definition>");
xmlData.Append("<application>");
xmlData.Append("<apply toObject='CAPTION' styles='CaptionFont' />");
xmlData.Append("<apply toObject='SUBCAPTION' styles='CaptionFont' />");
xmlData.Append("<apply toObject='DATALABELS' styles='LegFont' />");
xmlData.Append("<apply toObject='TOOLTIP' styles='LegFont' />");
xmlData.Append("</application>");
xmlData.Append("</styles>"); xmlData.Append("</chart>"); //MSColumnLine3D.swf 一个Y轴的3D组合图 //MSColumn3DLineDY.swf 双Y轴3D组合图MSCombiDY2D.swf
//Create the chart - MS Column 3D Line Combination Chart with data contained in strXML
litChart.Text = FusionCharts.RenderChartHTML("../FusionCharts/Column3D.swf", "", xmlData.ToString(), strFlashName, "700", "300", false);
for(*******)
{
strData.AppendFormat("<set label='" + strXValue + "' value='{0}' Color='" + strColor + "' toolText='" + dtInflux.Rows[i]["VocationName"] + ",净流入(万元):" + fValue + "'/>", fValue);
xmlData.Append(strData.ToString());
}
有很多种图形,选择
http://localhost/FusionCharts_Evaluation-v3.2/Gallery/Column3D/Col3D2.html
显示3D柱形图,存HTML+JQUERY的形式实现。如果用想在.cs中实现就用刚我给你的代码然后aspx中显示如下就可以用了,前提保证DLL引用了,以及swf文件路径正确。
aspx中显示:
<script src="../FusionCharts/FusionCharts.js" type="text/javascript"></script>
<form id="form1" runat="server">
<asp:Literal ID="litChart" runat="server"></asp:Literal>
</form>
之前做了一个饼图的 直接Append 拼数据上去
柱形也差不多这
你都两颗星啦,应该是个高手了json是一种方式,另一种也可以用简单的 拼接 html,然后作为数据源展示的方式,那个.cs文件中的写法,就是后台拼的整个HTML的形式,最后输出在aspx的页面上,你简单试试应该很容易的,别慌张,别太着急,看到demo尝试一个后就都明白了。
highcharts
这个也非常的强大。
http://demos.devexpress.com/XtraChartsDemos/BarViewTypes/Bar3DSeries.aspx
显示结果如下:
<asp:Label ID="Label2" runat="server" Text=""></asp:Label>添加引用,然后根据你的后台数据取出数据拼接成FusionCharts能识别的string,付给Label就可以了。using InfoSoftGlobal;
Label2.Text = CreatChart();
public string CreatChart()
{
string strXML;
strXML = "";
string T = "";
string Charts = "";
if (DropDownList1.SelectedValue == "1" || DropDownList1.SelectedValue == "10")
{
string SelectAll = string.Format("select * from qa2012");
strXML += "<graph caption='" + this.DropDownList1.SelectedItem.Text + "' xAxisName='选项' yAxisName='数目(总数:" + cs.ReturnDataSet(SelectAll).Tables[0].Rows.Count + ")' BaseFontSize='17' decimalPrecision='0' formatNumberScale='0'>";
if (DropDownList1.SelectedValue == "1")
{
for (int i = 0; i < 11; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Column3D.swf", "", strXML, "My", "700", "433", false, false); }
else
{ for (int i = 0; i < 4; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Column3D.swf", "", strXML, "My", "700", "433", false, false);
}
}
else
{
string SelectAll = string.Format("select * from qa2012");
strXML += "<graph caption='" + this.DropDownList1.SelectedItem.Text + "' xAxisName='选项' yAxisName='数目(总数:" + cs.ReturnDataSet(SelectAll).Tables[0].Rows.Count + ")' BaseFontSize='17' decimalPrecision='0' formatNumberScale='0'>";
if (DropDownList1.SelectedValue == "2" || DropDownList1.SelectedValue == "3")
{
for (int i = 0; i < 5; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false);
} else if (DropDownList1.SelectedValue == "4")
{
for (int i = 0; i < 3; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false);
}
else if (DropDownList1.SelectedValue == "20")
{
for (int i = 0; i < 2; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false);
}
else
{
if (DropDownList1.SelectedValue.ToString() != "26")
{
for (int i = 0; i < 4; i++)
{
char A = 'A';
int S = Convert.ToInt32(A) + i;
T = Convert.ToChar(S).ToString();
string Sql = string.Format("SELECT * FROM QA2012 WHERE {0} LIKE '%{1}%'", "a" + DropDownList1.SelectedValue.ToString(), T.ToString());
string Result = string.Format("<set name='{0}' value='{1}'/>", T, cs.ReturnDataSet(Sql).Tables[0].Rows.Count);
strXML += Result;
}
strXML += "</graph>";
Charts = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "", strXML, "My", "700", "433", false, false);
} } }
return Charts;
}这样就能实现想要的动态3D flash效果