惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - 李计刚

怎样定制图表提示? SQL学习笔记之ANSI_NULLS 要生就生双胞胎~ 如何手写代码以生成Composite图表? 在重庆访古~ Infragistics控件在VS.net 2005中使用的注意事项 关于ColumnLine Chart 重庆印象! 用图表向导生成ColumnLineChart 在VS2005中调试JavaScript 那些逝去的美好日子! 关于SELECT执行顺序的问题! Infragistics中Custom Layer的实现(翻译) UltraChart绑定数据的问题(翻译) 韩剧已不再风光! 用颜色矩阵实现的图象反转效果 关于:GDI+FAQ的好去处! 我做的数字图象处理 我的Blog开通了!
UltraChart中如何自定义标签?
李计刚 · 2009-06-02 · via 博客园 - 李计刚
 

     我们生成的ColumnChart,正常情况下X轴上既包括所绑定数值列名称,又包括Series的名称。而相同的数据,在Excel图表中所生成图表,X轴上通常只会显示Series的名称,并不包含所绑定数值列名称。这种情况下,我们要得到后者那样的效果,可通过以下代码方便的控制实现:

         this.UltraChart1.Axis.X.Labels.Visible = false;

         this.UltraChart1.Axis.X.Labels.SeriesLabels.Visible = true;

     通过设置属性,可很方便的对标签显示样式进行设置,如果我们要自定义ColumnChart或其它图表的的标签,显示特定的信息,采用简单的属性设置没法达成目的,该怎么实现呢?大致说来我们要实现IRenderLabel接口以自定义标签显示格式,然后设置X轴的标签显示格式为我们所定义的样式。

      IRenderLabel接口只有一个成员ToString(Hashtable context)contest包含了要处理标签的信息,如context["ITEM_LABEL"]代表列名,context["DATA_VALUE"]代表特定行列的具体值。ToString(Hashtable context)的返回值将被写到标签上,例如其返回值总是“Hello world,则“Hello world”将重复显示在X轴线上。以下代码具体实现了IRenderLabel接口。

using Infragistics.UltraChart.Resources;

...

public class MyLabelRenderer : IRenderLabel

{

    public string ToString(Hashtable context)

    {

           double dataValue = (double)context["DATA_VALUE"];

           if (dataValue > 75)

                  return dataValue.ToString() + " [Very High]";

           else if (dataValue > 50)

                  return dataValue.ToString() + " [High]";

           else if (dataValue > 25)

                  return dataValue.ToString() + " [Medium]";

           else if (dataValue >= 0)

                  return dataValue.ToString() + " [Low]";

           else        

                  return dataValue.ToString() + " [Negative]";

    }

}

然后我们所要做的就是设置图表轴线的ItemFormatString为一特定字符,此字符不能与图表已有名称相冲突,并且此字符要包含在"<" ">"字符间;然后要创建一Hashtable实例,其键名称与设置的图表轴线的ItemFormatString一致,键值是实现IRenderLabel接口的类实例;最后我们要设置图表的LabelHash属性为Hashtable实例,具体实现代码如下:

           this.ultraChart1.Axis.Y.Labels.ItemFormatString = "<MY_VALUE>";

           this.ultraChart1.Axis.X.Labels.ItemFormatString = "<MY_VALUE>";

           Hashtable MyLabelHashTable = new Hashtable();

           MyLabelHashTable.Add("MY_VALUE", new MyLabelRenderer());

           this.ultraChart1.LabelHash = MyLabelHashTable;

           this.ultraChart1.DataSource = GetColumnData();

最终我们所得到的图形效果参见图1

图1 自定义轴线标签效果