如何绘制flash3D饼状图

                                                       《如何绘制flash3D图》

  在常见的管理类软件中,经常需要绘制简单明了的树状图,饼状图,都是为了方便统计,让客户对数据一目了然,那么首先看看如何绘制flash 3D饼状图

  1.首先看看参数

 
  
/// <summary>
/// 获得绘制Flash3D饼图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <returns></returns>

 我们传入的数Datatable,然后是标题,标签列在数据表的索引号,值列的索引号,应用程序的路径,图像的宽度和高度

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
public static string Get3DPieChartCode(DataTable dt, string caption, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight)
{
StringBuilder sb
= new StringBuilder();
sb.AppendFormat(
@" <chart caption='{0}' palette='4' decimals='0' enableSmartLabels='1' enableRotation='0' bgAlpha='40,100' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='70' > " , caption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );


return FusionCharts.RenderChart(applicationPath + " /Charts/Pie3D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

带有小标题的方法重载

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
/// <summary>
/// 获得绘制Flash3D饼图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <param name="SubCaption"> 小标题 </param>
/// <returns></returns>
public static string Get3DPieChartCode(DataTable dt, string caption, int lableColumnInDataTableIndex, int
valueColumnInDataTableIndex,
string applicationPath, int chartWidth, int chartHeight, string SubCaption)
{
StringBuilder sb
= new StringBuilder();
sb.AppendFormat(
@" <chart caption='{0}' palette='4' decimals='0' subcaption='{1}' enableSmartLabels='1' enableRotation='0' bgAlpha='40,100' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='70' > " , caption, SubCaption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][

lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );

return FusionCharts.RenderChart(applicationPath + " /Charts/Pie3D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );


}

带有标签字的长度方法重载

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
/// <summary>
/// 获得绘制Flash3D饼图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <param name="labelLength"> 标签字的长度 </param>
/// <returns></returns>
public static string Get3DPieChartCode(DataTable dt, string caption, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight, int labelLength)
{
StringBuilder sb
= new StringBuilder();
sb.AppendFormat(
@" <chart caption='{0}' palette='4' decimals='0' enableSmartLabels='1' enableRotation='0' bgAlpha='40,100' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='70' > " , caption);

string label;
for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
label
= dt.Rows[i][lableColumnInDataTableIndex].ToString();
if (label.Length > labelLength)
label
= label.Substring( 0 , labelLength) + " ... " ;

sb.AppendFormat(
@" <set label='{0}' value='{1}' toolText='{2}' /> " , label, dt.Rows[i][valueColumnInDataTableIndex].ToString(), dt.Rows[i][lableColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );

return FusionCharts.RenderChart(applicationPath + " /Charts/Pie3D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

2:绘制flash3D圆环图图表的代码

ContractedBlock.gif ExpandedBlockStart.gif 圆形图
 
   
/// <summary>
/// 获得绘制Flash3D圆环图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <returns></returns>
public static string Get3DDoughnutChartCode(DataTable dt, string caption, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight)
{
StringBuilder sb
= new StringBuilder();
sb.AppendFormat(
@" <chart caption='{0}' palette='4' decimals='0' enableSmartLabels='1' enableRotation='0' bgAlpha='40,100' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='70' > " , caption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );


return FusionCharts.RenderChart(applicationPath + " /Charts/Doughnut3D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

带小标题的方法重载

ContractedBlock.gif ExpandedBlockStart.gif 带小标题的方法重载
 
   

/// <summary>
/// 获得绘制Flash3D圆环图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <param name="subCaption"> 小标题 </param>
/// <returns></returns>
public static string Get3DDoughnutChartCode(DataTable dt, string caption, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight, string subCaption)
{
StringBuilder sb
= new StringBuilder();
sb.AppendFormat(
@" <chart caption='{0}' subcaption='{1}' palette='4' decimals='0' enableSmartLabels='1' enableRotation='0' bgAlpha='40,100' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='70' > " , caption, subCaption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );


return FusionCharts.RenderChart(applicationPath + " /Charts/Doughnut3D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

3.绘制2D图形

ContractedBlock.gif ExpandedBlockStart.gif 2D
 
   
/// <summary>
/// 获得绘制2D柱形图表的代码
/// </summary>
/// <param name="dt"></param>
/// <param name="caption"></param>
/// <param name="xAxisName"></param>
/// <param name="yAxisName"></param>
/// <param name="lableColumnInDataTableIndex"></param>
/// <param name="valueColumnInDataTableIndex"></param>
/// <param name="applicationPath"></param>
/// <param name="chartWidth"></param>
/// <param name="chartHeight"></param>
/// <returns></returns>
public static string Get2DColumnChartCode(DataTable dt, string caption, string xAxisName, string yAxisName, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight)
{
StringBuilder sb
= new StringBuilder();
// sb.AppendFormat(@"<chart palette='2' caption='{0}' xAxisName='{1}' yAxisName='{2}' showValues='0' decimals='0' formatNumberScale='0'>",caption,xAxisName,yAxisName);
// sb.AppendFormat(@"<chart palette='2' caption='{0}' clickUrl='{1}' showValues='1' decimals='0' formatNumberScale='0' baseFontSize='12' showBorder='0' bgColor='FFFFFF,FFFFFF'>",caption,clickUrl);
sb.AppendFormat( @" <chart palette='2' caption='{0}' showValues='1' decimals='0' useRoundEdges='1' formatNumberScale='0' baseFontSize='12' showBorder='0' bgColor='FFFFFF,FFFFFF'> " , caption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );

return FusionCharts.RenderChart(applicationPath + " /Charts/Column2D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

4.绘制3D

ContractedBlock.gif ExpandedBlockStart.gif 3D
 
   
/// <summary>
/// 获得绘制3D柱形图表的代码
/// </summary>
/// <param name="dt"></param>
/// <param name="caption"></param>
/// <param name="xAxisName"></param>
/// <param name="yAxisName"></param>
/// <param name="lableColumnInDataTableIndex"></param>
/// <param name="valueColumnInDataTableIndex"></param>
/// <param name="applicationPath"></param>
/// <param name="chartWidth"></param>
/// <param name="chartHeight"></param>
/// <returns></returns>
public static string Get3DColumnChartCode(DataTable dt, string caption, string xAxisName, string yAxisName, int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int chartHeight)
{
StringBuilder sb
= new StringBuilder();
// sb.AppendFormat(@"<chart palette='2' caption='{0}' xAxisName='{1}' yAxisName='{2}' showValues='0' decimals='0' formatNumberScale='0'>",caption,xAxisName,yAxisName);
// sb.AppendFormat(@"<chart palette='2' caption='{0}' clickUrl='{1}' showValues='1' decimals='0' formatNumberScale='0' baseFontSize='12' showBorder='0'>",caption,clickUrl);
sb.AppendFormat( @" <chart palette='2' caption='{0}' showValues='1' decimals='0' useRoundEdges='1' formatNumberScale='0' baseFontSize='12' showBorder='0'> " , caption);

for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <set label='{0}' value='{1}' /> " , dt.Rows[i][lableColumnInDataTableIndex].ToString(), dt.Rows[i][valueColumnInDataTableIndex].ToString());
}
sb.Append(
@" </chart> " );

return FusionCharts.RenderChart(applicationPath + " /Charts/Column2D.swf " , "" , sb.ToString(), caption, chartWidth.ToString(), chartHeight.ToString(), false , false );
}

5.绘制多个3D柱形

ContractedBlock.gif ExpandedBlockStart.gif 多个3D柱形
 
   
public static string GetMS3DColumnChartCode(DataTable dt, string caption, string xAxisName, string
yAxisName,
int lableColumnInDataTableIndex, int valueColumnInDataTableIndex, string applicationPath, int chartWidth, int

chartHeight)
{
StringBuilder sb
= new StringBuilder();

sb.AppendFormat(
@" <chart palette='2 caption='{0}'showValues='1' decimals='0' useRoundEdges='1' formatNumberScale='0' baseFontSize='12' showBorder='0'> " , caption);

sb.Append(
" <categories> " );
for ( int i = 0 ; i < dt.Rows.Count; i ++ )
{
sb.AppendFormat(
@" <category label='{0}'/> " , dt.Rows[i][lableColumnInDataTableIndex

].ToString());
}
sb.Append(
@" </categories> " );

for ( int i = 1 ; i < dt.Columns.Count; i ++ )
{
sb.AppendFormat(
@" <dataset seriesName='{0}' showValues='1'> " , dt.Columns

[i].ColumnName.ToString());
for ( int j = 0 ; j < dt.Rows.Count; j ++ )
{
sb.AppendFormat(
@" <set value='{0}'/> " , dt.Rows[j][i].ToString());
}
sb.Append(
@" </dataset> " );
}
sb.Append(
@" </chart> " );
return FusionCharts.RenderChart(applicationPath + " /Charts/MSColumn2D.swf " , "" , sb.ToString(),
caption, chartWidth.ToString(), chartHeight.ToString(),
false , false );
}
}
 
  
/// <summary>
/// 获得绘制Flash3D饼图图表的代码
/// </summary>
/// <param name="dt"> 数据表 </param>
/// <param name="caption"> 标题 </param>
/// <param name="lableColumnInDataTableIndex"> 标签列在数据表中的索引号 </param>
/// <param name="valueColumnInDataTableIndex"> 值列在数据表中的索引号 </param>
/// <param name="applicationPath"> 应用程序路径 </param>
/// <param name="chartWidth"> 宽度 </param>
/// <param name="chartHeight"> 高度 </param>
/// <returns></returns>

转载于:https://www.cnblogs.com/gaowenbin/articles/FDA.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值