C1Chart for WPF初级教程:Getting Started(下)
liuian 2025-05-02 19:37 8 浏览
ComponentOne Studio for WPF下载>
在上文中,我们介绍了您感兴趣的C1Chart,从最基本的引用和添加到它的组成部分讲起。在本文中,我们将为您介绍介绍每一个组成部分,应该如何使用C#和XAML代码添加。
类型
C1Chart有很多的类型,具体我们将在今后的教程中做介绍。就本文来讲,使用的是C1Chart的Column类型。从代码层面,该类型的设置方法如下:
XAML代码:
在"c1chart:C1Chart"标记里,使用XAML代码设置ChartType属性为Column。
C#代码:
相应的,在cs文件里,通过C#代码也可以达到同样的效果,代码参考:
c1Chart1.ChartType = ChartType.Column;
数据
为了在图表上显示一组或多组数据,需要添加一个或多个data series到chart.Data.Children集合。比如本图中共有Revenue、Expense和Profit三组数据,因此添加三个data series到chart.Data.Children。如果数据包含唯一的数字类型的值,比如本图所示在Y轴是数字类型的值,那么就可以使用标准的DataSeries类。如果数据包含两组数字值(X和Y轴),那么就是用XYDataSeries类替代。
给C1Chart添加数据可以使用XAML代码或是C#代码。
// Clear previous data c1Chart1.Data.Children.Clear; //Add item names string names = new string { "North", "East", "West", "South" }; c1Chart1.Data.ItemNames = names; //Add data DataSeries ds1 = new DataSeries; int yValue1 = { 1200, 1250, 400, 1450 }; ds1.Label = "Revenue"; ds1.ValuesSource = yValue1; c1Chart1.Data.Children.Add(ds1); DataSeries ds2 = new DataSeries; int yValue2 = { 400, 300, 300, 200 }; ds2.Label = "Expense"; ds2.ValuesSource = yValue2; c1Chart1.Data.Children.Add(ds2); DataSeries ds3 = new DataSeries; int yValue3 = { 800, 950, 150, 1250 }; ds3.Label = "Profit"; ds3.ValuesSource = yValue3; c1Chart1.Data.Children.Add(ds3);
ItemNames属性:用来设置Item的名称。图中每组数据都有4个相同的Item名称,分别是:"North East West South"。通过ChartData.ItemNames属性就可以设置。
Label属性:每个Data series下都有Label属性,用来指定每一组数据的标签。
轴
C1Chart上有X轴和Y轴,如果想自定义轴,需要添加ChartView类。ChartView类代表包含数据和轴在内的区域。
轴标题:轴标题不仅仅可以展示简单的文字,图中所示的是使用TextBlock元素来展示X轴和Y轴的标题。另外一旦添加了TextBlock元素,可以改变字体和文字的方向。
XAML代码:
AnnoFormat:可以给Y轴设置格式,比如上述代码通过设置AnnoFormat为n0,设置Y轴的的数字包含千分号。这些对X轴和Y轴的设置,都可以写在标记里。另外上述代码也可以使用C#代码,写在cs文件里。
C#代码:
c1Chart1.View.AxisX.Title = new TextBlock { Text = "Region", FontSize = 24, FontWeight=FontWeights.Bold, TextAlignment = TextAlignment.Left }; c1Chart1.View.AxisY.Title = new TextBlock { Text = "Amount($1000)", FontSize = 24, FontWeight = FontWeights.Bold, TextAlignment = TextAlignment.Center }; c1Chart1.View.AxisY.AnnoFormat = "n0";
GridLine
Gridline画在C1Chart的一组水平或竖直方向的线。它能够帮助你准确的读取图表的值,查看接近线的值。可以使用
MajorGridStroke/MinorGridStroke属性来设置major/minor的线。线的粗细,颜色,线型都是可以设置的。图中在标记里设置了MajorGridStrokeThickness为1。或是在cs文件里通过C#代码实现:
c1Chart1.View.AxisX.MajorGridStrokeThickness = 1; c1Chart1.View.AxisY.MajorGridStrokeThickness = 1;
颜色
如果要调整Chart的颜色,有两种方式:Theme和Palette属性。Theme允许使用超过10种的内置颜色方案。Palette属性允许给data series设置特定的颜色,它内置超过20种颜色,还可以进行自定义。在XAML中,是将Palette="Solstice"写在
C#代码:
c1Chart1.Palette = ColorGeneration.Solstice;
这时不管通过C#代码或是XAML代码我们都可以得到如下图所示的图表:
如果更改Theme,可以采用如下的代码快速设置:
// Set theme c1Chart.Theme = _c1Chart.TryFindResource(new ComponentResourceKey(typeof(C1.WPF.C1Chart.C1Chart),"Office2007Black")) as ResourceDictionary;}
PS: 关于ComponentOne,这些产品你可以关注>>
葡萄城经典UI产品新年大促,惊喜折扣礼品送不停!
本站文章除注明转载外,均为本站原创或翻译
相关推荐
- iOS9不越狱也能用:苹果Xcode 7编译安装第三方应用教程
-
在苹果iOS9正式版系统中,即使你不越狱现在也可以安装一些AppStore中根本不存在的应用程序,听上去感觉有些不可思议是吧,一起来看看这到底是怎么做到的。需要准备的东西:你需要准备一台Mac、X...
- Python+Appium控制 iOS 真机,滑动、输入、点击全搞定!
-
移动端自动化测试中,Appium+iOS测试算是门槛稍高但非常关键的一环。很多测试同学面对XCUITest+真机操作时,总觉得“设备连不上”、“控件找不到”、“滑动失败”。先看效果今天我用...
- 从零到一:用Cursor和Xcode打造你的iOS App!
-
想要开发自己的iOSApp吗?跟随我们的教程,从前期准备到App上架,一步步教你如何实现!"步骤1:开发App的前期准备"设备和软件:你需要一台Mac电脑、免费的Xcode和Curs...
- 苹果向开发者推送visionOS 2.5的第四个测试版
-
近日,苹果面向开发者正式推送了visionOS2.5的第四个Beta开发者预览版,版本号为22O5467a。开发者只需打开设备端的设置应用,在相关选项中找到“开发者测试版”开关,即可开启下...
- 苹果向开发者推送visionOS 2.5的第一个测试版
-
苹果公司近日向其注册开发者推送了visionOS2.5更新的第一个Beta测试版,版本号为22O5442g。为了安装这一测试版,开发者们只需通过VisionPro设备上的“设置”应用...
- iPhone 16 Pro Max Xcode首选,iPad Pro 2024开发利器
-
最佳开发者适配机型榜1.iPhone16ProMax(A18Pro模拟器优化)2.iPadPro2024(M4芯片多任务)3.iPhone15Pro(Xcode调试工具)4.iP...
- react native中自定义 URL Scheme并跳转到指定页面
-
在ReactNative中实现类似Android的自定义URLScheme(myapp://open)并跳转到指定页面,可以通过以下步骤完成。ReactNative提供了对深度链接(...
- 传闻暗示 iPhone 将推出桌面模式(苹果推出页面怎样才能保持推出前的状态)
-
最近,除了有关iOS视觉效果大幅重新设计和更像Mac的iPadOS体验的传闻外,还有一个有趣的传闻正在流传:iPhone可能会获得某种桌面模式。MajinBu上周写道,一些匿名消息人士称,...
- 苹果visionOS 1.3首个测试版开启推送 建议谨慎下载
-
【CNMO科技消息】据外媒报道,开发者现已能够下载体验visionOS1.3首个测试版,只需将其安装在VisionPro上即可。这一版本的发布紧随5月7日释出的第五个测试版之后,而在此之前,4月3...
- XcodeBuildMCP 让 AI 代理能够通过标准化接口与 Xcode 项目进行交互
-
项目介绍XcodeBuildMCP是一个ModelContextProtocol(MCP)服务器,提供与Xcode相关的工具,以便与AI助手和其他MCP客户端集成。它旨在通过标准化接口优化开发...
- 每日学习“Xcode”是什么呢?(xcode是开发什么的)
-
Xcode是苹果公司为macOS系统量身打造的集成开发环境(IDE),专为开发苹果生态系统内的各类应用程序,其中也包括游戏。以下从特点、安装使用、在游戏开发中的应用方面详细介绍。特点全平台支持:...
- 升级wpsjs工具包,创建和发布wps加载项
-
前一段时间wpsjs工具包不能创建、调试和发布wps加载项,目前已修复,请更新到最新版。wpsjs工具包升级到最新版可以创建和发布wps加载项。执行以下命令:npmupdate-gwpsjs...
- 如何在 TypeScript 中使用Enum(枚举)
-
在TypeScript中,枚举或枚举类型是具有一组常量值的常量长度的数据结构。这些常量值中的每一个都称为枚举的成员。在设置只能是一定数量的可能值的属性或值时,枚举很有用。一个常见的例子是一副扑克...
- Vue独立组件——11个最佳Vue.js日期选择器组件
-
介绍本文主要介绍几个Vue的时间日期选择器组件,目的在于让开发者们多一些选择,不管是从功能还是从样式,都可以选择一个适合的组件,这些组件没有绝对的好与不好,就看个人如何选择了,以下分别介绍十一个日期选...
- ABP Framework 手动升级指南:从6.0.1升级到7.0.0
-
ABP7.0.0正式版已经发布,ABP-Framework-All-In-One项目同步升级。LeptonXLiteTheme目前还没有包含在源码解决方案中,还是以Nuget包提供,目...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
-
- iOS9不越狱也能用:苹果Xcode 7编译安装第三方应用教程
- Python+Appium控制 iOS 真机,滑动、输入、点击全搞定!
- 从零到一:用Cursor和Xcode打造你的iOS App!
- 苹果向开发者推送visionOS 2.5的第四个测试版
- 苹果向开发者推送visionOS 2.5的第一个测试版
- iPhone 16 Pro Max Xcode首选,iPad Pro 2024开发利器
- react native中自定义 URL Scheme并跳转到指定页面
- 传闻暗示 iPhone 将推出桌面模式(苹果推出页面怎样才能保持推出前的状态)
- 苹果visionOS 1.3首个测试版开启推送 建议谨慎下载
- XcodeBuildMCP 让 AI 代理能够通过标准化接口与 Xcode 项目进行交互
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- react-admin (33)
- vscode切换git分支 (35)
- vscode美化代码 (33)
- python bytes转16进制 (35)