`
starnc
  • 浏览: 144843 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

ZedGraph控件,饼图中加入“其它”块,记录项目中的实际实现

    博客分类:
  • .NET
 
阅读更多

当饼图的分块大于10块的时候,往往会显得很杂乱,标签可能会叠加到一起,所以应该在饼图中加入“其它”块,把那些top10分开表示,剩下的就可以放在“其它”块里,这样界面较美观,以下为代码实现

其中dataRowPro 为datatable中的datarow

 

<textarea name="code" class="c-sharp" rows="15" cols="50">private string m_strColumn = string.Empty; // 显示该列的数字 private string m_strName = string.Empty; // 显示列名 ArrayList dataRowProList = new ArrayList(); Hashtable htShowName = new Hashtable(); if (dataRowPro.Length > 10) //当分类大于10的时候 { for (int i = 0; i < dataRowPro.Length; i++) { dataRowProList.Add(Convert.ToDouble(dataRowPro[i][m_strColumn])); htShowName.Add(dataRowProList[i], dataRowPro[i][m_strShowName].ToString().Trim()); } dataRowProList.Sort(); for (int i = 0; i < dataRowProList.Count - 1; i++) { dataRowPro[i][m_strColumn] = dataRowProList[dataRowProList.Count - 1-i]; dataRowPro[i][m_strShowName] = htShowName[dataRowProList[dataRowProList.Count - 1 - i]].ToString(); } double totals = 0.0; for (int i = 0; i < 9; i++) { if (string.IsNullOrEmpty(dataRowPro[i][m_strColumn].ToString()) == true) { dataRowPro[i][m_strColumn] = "0"; } segment[i] = myPane.AddPieSlice(Convert.ToDouble(dataRowPro[i][m_strColumn]) / protypeTotal * 100, Color.Yellow, Color.Red, 450f, 0.1+i/50, dataRowPro[i][m_strShowName].ToString().Trim() + "(" + Math.Round(Convert.ToDouble(dataRowPro[i][m_strColumn]) / protypeTotal * 100, 2) + "%)"); totals += Convert.ToDouble(dataRowPro[i][m_strColumn]) / protypeTotal * 100; } totals = 100.00 - totals; segment[9] = myPane.AddPieSlice(totals, Color.GreenYellow, Color.Red, 40f, 0.1, "其它" + "(" + Math.Round(totals, 2) + "%)"); } else { for (int i = 0; i < dataRowPro.Length; i++) { if (string.IsNullOrEmpty(dataRowPro[i][m_strColumn].ToString()) == true) { dataRowPro[i][m_strColumn] = "0"; } segment[i] = myPane.AddPieSlice(Convert.ToDouble(dataRowPro[i][m_strColumn]) / protypeTotal * 100, Color.FromArgb(ra.Next(2, 255), ra.Next(3, 235), ra.Next(4, 200)), Color.Red, 40f, 0.1, dataRowPro[i][m_strShowName].ToString().Trim() + "(" + Math.Round(Convert.ToDouble(dataRowPro[i][m_strColumn]) / protypeTotal * 100, 2) + "%)"); } } masterPane.AxisChange(); </textarea> 


 

 

    这是部分逻辑代码实现,只要实现了datarowpro,以下代码可直接用

分享到:
评论

相关推荐

    C# winform使用zedgraph制作饼图条形图和折线图的demo

    在ZedGraph中,你可以创建一个PieChart类实例来实现饼图。首先,需要定义一系列的数据点,每个数据点包含值和对应的标签。然后,将这些数据点添加到PieFunction对象中,最后通过PieChart对象的Draw方法在图形控件上...

    ZedGraph饼图、条形图和饼图Demo源码

    ZedGraph饼图、条形图和饼图Demo源码 ZedGraphV515是C#编写的.NET类库,提供了用户控件和web控件。它可以创建2D的线性图、条形图和饼图。 它功能完整且有详细的功能自定义。 基于LGPL协议开源,.NET 2.0 C#源代码)...

    最新版本ZedGraph控件

    而ZGControlTestVB可能是配套的示例或测试项目,帮助用户了解如何在Visual Basic.NET环境中使用ZedGraph控件。 ZedGraph控件的核心功能包括: 1. **多图表支持**:ZedGraph可以同时在一个窗口中显示多个图表,每个...

    用C#做的Zedgraph饼图示例

    在C#编程环境中,ZedGraph是一个强大的图形库,它提供了丰富的图表类型,包括线性图、曲线图...通过分析提供的“用C#做的Zedgraph饼图示例”,开发者可以掌握利用ZedGraph创建饼图的完整流程,并将其应用于实际项目中。

    ZedGraph控件属性及基础教程详解.zip

    ZedGraph是一款强大的开源图形库,适用于.NET Framework,主要用于在Windows Forms和Web Forms应用程序中创建各种图表,如折线图、柱状图、饼图、散点图等。本教程将深入探讨ZedGraph控件的各项属性及其基本用法,...

    zedgraph图形控件源代码

    - `ZedGraph例子.rar`包含了大量的示例项目,帮助开发者了解如何使用ZedGraph控件,快速上手开发。 7. **扩展性**: - 开发者可以根据`zedgraph图形控件源代码`进行二次开发,增加新的功能或者调整现有功能,满足...

    ZedGraph控件画线画点画图

    ZedGraph是一款强大的开源.NET图形库,用于在Windows Forms和ASP.NET应用程序中创建各种图表,如线图、柱状图、饼图、散点图等。这个控件提供了丰富的功能,使得开发者能够轻松地在应用中添加数据可视化元素。下面...

    用ZedGraph控件画统计分析图

    2. 在工具箱中找到ZedGraph控件,将其添加到工具箱中以便在后续步骤中使用。 **步骤二:在控制面板中添加ZedGraph控件** 1. 打开项目的设计视图,在设计视图中可以看到工具箱。 2. 从工具箱中拖拽ZedGraph控件到...

    ZedGraph控件源代码

    ZedGraph是一款开源的.NET图形库,用于在Windows Forms和ASP.NET应用程序中创建各种图表,如线图、柱状图、饼图、曲线图等。它提供了丰富的自定义选项,可以满足开发人员对数据可视化的需求。现在我们来深入探讨...

    ZedGraph控件属性及基础教程详解

    - 新建一个C# WinForm项目,并在工具箱中添加ZedGraph控件。 2. **设计图表界面** - 设置必要的图表属性,如图表标题、背景颜色等。 3. **加载数据** - 通过代码向图表添加数据集。 4. **自定义图表样式** - ...

    Winform中实现ZedGraph的多条Y轴示例代码.zip

    这个"Winform中实现ZedGraph的多条Y轴示例代码"就是一个很好的教程,它展示了如何利用ZedGraph库在Winform应用中创建带有多个Y轴的图表。 首先,我们来理解一下ZedGraph库。ZedGraph是一个完全开源的.NET类库,专门...

    zedgraph控件(两个)

    标题中的"zedgraph控件(两个)"指的是ZedGraph库的两个主要组件:ZedGraph.dll和ZedGraph.Web.dll。这两个DLL文件是ZedGraph库的核心部分,它们分别用于不同的开发环境和目的。 1. **ZedGraph.dll**: 这个组件是...

    zedgraph控件做曲线并抓图

    在这个实例中,我们将主要探讨如何使用zedGraph控件来绘制曲线并实现截图功能。 首先,你需要在你的C#项目中引入zedGraph库。可以通过NuGet包管理器安装,或者直接将zedGraph.dll文件添加到项目的引用中。zedGraph...

    ZedGraph控件及示例工程.zip

    这个“ZedGraph控件及示例工程.zip”文件显然是一个包含ZedGraph控件不同版本及其使用示例的压缩包,旨在帮助开发者快速理解和应用ZedGraph来实现数据可视化。 首先,ZedGraph控件的核心功能是生成高质量的2D图表,...

    Zedgraph控件写的实例

    在这个实例中,我们关注的是如何利用ZedGraph控件来绘制柱形图。 柱形图是一种常用的数据可视化方式,它通过竖直的条形长度来表示数据的大小,便于比较不同类别的数值。在商业智能和数据分析中,柱形图常用来展示...

    多维数据图形显示中ZedGraph控件的应用

    ### 多维数据图形显示中ZedGraph控件的应用 #### 概述 在现代商业智能领域中,数据可视化已成为企业决策制定过程中不可或缺的一部分。它不仅帮助管理层更快更准确地理解复杂的业务状况,还能有效揭示潜在的问题。...

    全局异常捕获以及使用zedgraph控件绘图

    本文将深入探讨全局异常捕获的概念、实现方式以及其在实际开发中的应用。同时,我们还将介绍ZedGraph这个强大的.NET图形绘制控件,它能够帮助开发者轻松地创建各种图表,提升应用程序的可视化表现。 全局异常捕获...

    ZedGraph控件详细使用方法.doc

    首先,要使用ZedGraph控件,你需要在项目中引入它。这通常涉及到在解决方案资源管理器中右键点击项目,选择“添加引用”,然后在“浏览”选项卡中找到ZedGraph库的DLL文件。在ASP.NET环境中,你还需要在网页的头部...

    在winform下,利用控件ZedGraph控件绘制折线图

    我们常常需要创建各种可视化图表来展示数据,而ZedGraph控件是一个强大的开源库,专为.NET Framework设计,用于在Winform应用中绘制高质量的2D图表,包括折线图、柱状图、饼图等。本教程将引导初学者了解如何利用...

Global site tag (gtag.js) - Google Analytics