DevExpress ChartControl 样式设置
第三方控件,设置ChartControl的样式,仅供参考

Demo:
<Grid>
<Grid.Resources>
<SolidColorBrush x:Key="GridLineBursh" Color="CornflowerBlue"></SolidColorBrush>
</Grid.Resources>
<dxc:ChartControl Background="Transparent" CrosshairEnabled="False">
<dxc:ChartControl.Palette>
<dxc:ChameleonPalette/>
</dxc:ChartControl.Palette>
<dxc:ChartControl.Legend>
<dxc:Legend Orientation="Horizontal" HorizontalPosition="Center" Background="Transparent" VerticalPosition="BottomOutside" IndentFromDiagram="0,16,16,16" Visible="True"/>
</dxc:ChartControl.Legend>
<dxc:XYDiagram2D EqualBarWidth="True" Padding="5">
<dxc:XYDiagram2D.DefaultPane>
<dxc:Pane DomainBrush="Transparent"/>
</dxc:XYDiagram2D.DefaultPane>
<dxc:XYDiagram2D.AxisY>
<dxc:AxisY2D x:Name="YLeft" TickmarksVisible="True" TickmarksMinorVisible="False" Interlaced="False" Thickness="2"
TickmarksThickness="2" TickmarksLength="5" Brush="White" GridLinesBrush="{StaticResource GridLineBursh}"
Alignment="Near" GridLinesMinorVisible="False">
<dxc:AxisY2D.CustomLabels>
<dxc:CustomAxisLabel Content="0" Value="0"/>
<dxc:CustomAxisLabel Content="100" Value="100"/>
<dxc:CustomAxisLabel Content="200" Value="200"/>
<dxc:CustomAxisLabel Content="300" Value="300"/>
<dxc:CustomAxisLabel Content="350" Value="350"/>
</dxc:AxisY2D.CustomLabels>
<dxc:AxisY2D.WholeRange>
<dxc:Range MaxValue="350" AutoSideMargins="False" SideMarginsValue="0"></dxc:Range>
</dxc:AxisY2D.WholeRange>
<dxc:AxisY2D.Label>
<dxc:AxisLabel Foreground="White"/>
</dxc:AxisY2D.Label>
</dxc:AxisY2D>
</dxc:XYDiagram2D.AxisY>
<dxc:XYDiagram2D.SecondaryAxesY>
<dxc:SecondaryAxisY2D x:Name="YRight" TickmarksVisible="True" TickmarksMinorVisible="False" Interlaced="False" GridLinesMinorVisible="False" Thickness="2"
TickmarksThickness="2" TickmarksLength="5" Brush="White">
<dxc:SecondaryAxisY2D.CustomLabels>
<dxc:CustomAxisLabel Content="0" Value="0"/>
<dxc:CustomAxisLabel Content="100" Value="100"/>
<dxc:CustomAxisLabel Content="200" Value="200"/>
<dxc:CustomAxisLabel Content="300" Value="300"/>
<dxc:CustomAxisLabel Content="600" Value="600"/>
<dxc:CustomAxisLabel Content="1200" Value="1200"/>
</dxc:SecondaryAxisY2D.CustomLabels>
<dxc:SecondaryAxisY2D.WholeRange>
<dxc:Range MinValue="0" MaxValue="1200" AutoSideMargins="False" SideMarginsValue="0"></dxc:Range>
</dxc:SecondaryAxisY2D.WholeRange>
<dxc:SecondaryAxisY2D.Label>
<dxc:AxisLabel Foreground="White"/>
</dxc:SecondaryAxisY2D.Label>
</dxc:SecondaryAxisY2D>
</dxc:XYDiagram2D.SecondaryAxesY>
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D x:Name="XBottom" Visible="True" TickmarksVisible="False" TickmarksMinorVisible="False" Interlaced="False" Thickness="1"
TickmarksThickness="1" TickmarksLength="10" TickmarksCrossAxis="False" GridLinesVisible="False"
Brush="{StaticResource GridLineBursh}">
<dxc:AxisX2D.NumericScaleOptions>
<dxc:ManualNumericScaleOptions/>
</dxc:AxisX2D.NumericScaleOptions>
<dxc:AxisX2D.Label>
<dxc:AxisLabel Foreground="White" FontSize="14"/>
</dxc:AxisX2D.Label>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
<dxc:XYDiagram2D.SecondaryAxesX>
<dxc:SecondaryAxisX2D TickmarksVisible="False" TickmarksMinorVisible="False" Visible="True" Interlaced="False" Thickness="1"
TickmarksThickness="1" TickmarksLength="10" TickmarksCrossAxis="False" GridLinesVisible="False"
Brush="{StaticResource GridLineBursh}">
<dxc:SecondaryAxisX2D.Label>
<dxc:AxisLabel Foreground="Transparent" FontSize="1"/>
</dxc:SecondaryAxisX2D.Label>
</dxc:SecondaryAxisX2D>
</dxc:XYDiagram2D.SecondaryAxesX>
<dxc:XYDiagram2D.Series>
<dxc:AreaStackedSeries2D DisplayName="Series Area1" Brush="#FF1A9AF0" Opacity="0.5">
<dxc:SeriesPoint Argument="2015" Value="200"/>
<dxc:SeriesPoint Argument="2016" Value="250"/>
<dxc:SeriesPoint Argument="2017" Value="210"/>
<dxc:SeriesPoint Argument="2018" Value="135"/>
<dxc:SeriesPoint Argument="2019" Value="134"/>
<dxc:SeriesPoint Argument="2020" Value="117"/>
<dxc:SeriesPoint Argument="2021" Value="93"/>
<dxc:SeriesPoint Argument="2022" Value="42"/>
<dxc:SeriesPoint Argument="2023" Value="13"/>
<dxc:SeriesPoint Argument="2024" Value="3"/>
</dxc:AreaStackedSeries2D>
<dxc:AreaStackedSeries2D DisplayName="Series Area2" Brush="#FF49D5EB" Opacity="0.5">
<dxc:SeriesPoint Argument="2015" Value="40"/>
<dxc:SeriesPoint Argument="2016" Value="60"/>
<dxc:SeriesPoint Argument="2017" Value="80"/>
<dxc:SeriesPoint Argument="2018" Value="65"/>
<dxc:SeriesPoint Argument="2019" Value="44"/>
<dxc:SeriesPoint Argument="2020" Value="27"/>
<dxc:SeriesPoint Argument="2021" Value="13"/>
<dxc:SeriesPoint Argument="2022" Value="22"/>
<dxc:SeriesPoint Argument="2023" Value="5"/>
<dxc:SeriesPoint Argument="2024" Value="4"/>
</dxc:AreaStackedSeries2D>
<dxc:BarStackedSeries2D DisplayName="Series Bar1" Brush="#FF44A7F9" BarWidth="0.2">
<dxc:BarStackedSeries2D.Model>
<dxc:BorderlessSimpleBar2DModel ></dxc:BorderlessSimpleBar2DModel>
</dxc:BarStackedSeries2D.Model>
<dxc:SeriesPoint Argument="2015" Value="0"/>
<dxc:SeriesPoint Argument="2016" Value="0"/>
<dxc:SeriesPoint Argument="2017" Value="12"/>
<dxc:SeriesPoint Argument="2018" Value="315"/>
<dxc:SeriesPoint Argument="2019" Value="314"/>
<dxc:SeriesPoint Argument="2020" Value="297"/>
<dxc:SeriesPoint Argument="2021" Value="0"/>
<dxc:SeriesPoint Argument="2022" Value="2"/>
<dxc:SeriesPoint Argument="2023" Value="5"/>
<dxc:SeriesPoint Argument="2024" Value="4"/>
</dxc:BarStackedSeries2D>
<dxc:BarStackedSeries2D DisplayName="Series Bar2" BarWidth="0.2" Brush="#FFFA1111">
<dxc:BarStackedSeries2D.Model>
<dxc:BorderlessSimpleBar2DModel></dxc:BorderlessSimpleBar2DModel>
</dxc:BarStackedSeries2D.Model>
<dxc:SeriesPoint Argument="2015" Value="0"/>
<dxc:SeriesPoint Argument="2016" Value="0"/>
<dxc:SeriesPoint Argument="2017" Value="0"/>
<dxc:SeriesPoint Argument="2018" Value="0"/>
<dxc:SeriesPoint Argument="2019" Value="4"/>
<dxc:SeriesPoint Argument="2020" Value="17"/>
<dxc:SeriesPoint Argument="2021" Value="23"/>
<dxc:SeriesPoint Argument="2022" Value="0"/>
<dxc:SeriesPoint Argument="2023" Value="0"/>
<dxc:SeriesPoint Argument="2024" Value="0"/>
</dxc:BarStackedSeries2D>
<dxc:LineSeries2D x:Name="Line" DisplayName="Europe" MarkerVisible="False" AnimationAutoStartMode="SetStartState">
<dxc:LineSeries2D.Points>
<dxc:SeriesPoint Argument="2015" Value="300"/>
<dxc:SeriesPoint Argument="2016" Value="310"/>
<dxc:SeriesPoint Argument="2017" Value="315"/>
<dxc:SeriesPoint Argument="2018" Value="290"/>
<dxc:SeriesPoint Argument="2019" Value="200"/>
<dxc:SeriesPoint Argument="2020" Value="180"/>
<dxc:SeriesPoint Argument="2021" Value="155"/>
<dxc:SeriesPoint Argument="2022" Value="150"/>
<dxc:SeriesPoint Argument="2023" Value="150"/>
<dxc:SeriesPoint Argument="2024" Value="150"/>
</dxc:LineSeries2D.Points>
</dxc:LineSeries2D>
<dxc:LineSeries2D DisplayName="Line Point" MarkerSize="10" MarkerVisible="True" dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=YRight}">
<dxc:LineSeries2D.Points>
<dxc:SeriesPoint Argument="2015" Value="0"/>
<dxc:SeriesPoint Argument="2016" Value="0"/>
<dxc:SeriesPoint Argument="2017" Value="5"/>
<dxc:SeriesPoint Argument="2018" Value="25"/>
<dxc:SeriesPoint Argument="2019" Value="200"/>
<dxc:SeriesPoint Argument="2020" Value="500"/>
<dxc:SeriesPoint Argument="2021" Value="600"/>
<dxc:SeriesPoint Argument="2022" Value="700"/>
<dxc:SeriesPoint Argument="2023" Value="800"/>
<dxc:SeriesPoint Argument="2024" Value="800"/>
</dxc:LineSeries2D.Points>
</dxc:LineSeries2D>
<dxc:LineSeries2D DisplayName="Point Eclipse" MarkerVisible="False" AnimationAutoStartMode="SetStartState" dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=YRight}">
<dxc:LineSeries2D.LineStyle>
<dxc:LineStyle Thickness="5">
<dxc:LineStyle.DashStyle>
<DashStyle Dashes="3" Offset="0">
</DashStyle>
</dxc:LineStyle.DashStyle>
</dxc:LineStyle>
</dxc:LineSeries2D.LineStyle>
<dxc:LineSeries2D.Points>
<dxc:SeriesPoint Argument="2015" Value="150"/>
<dxc:SeriesPoint Argument="2016" Value="150"/>
<dxc:SeriesPoint Argument="2017" Value="150"/>
<dxc:SeriesPoint Argument="2018" Value="150"/>
<dxc:SeriesPoint Argument="2019" Value="150"/>
<dxc:SeriesPoint Argument="2020" Value="150"/>
<dxc:SeriesPoint Argument="2021" Value="150"/>
<dxc:SeriesPoint Argument="2022" Value="150"/>
<dxc:SeriesPoint Argument="2023" Value="150"/>
<dxc:SeriesPoint Argument="2024" Value="150"/>
</dxc:LineSeries2D.Points>
</dxc:LineSeries2D>
<dxc:SplineSeries2D DisplayName="Line Round" dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=YRight}">
<dxc:SplineSeries2D.LineStyle>
<dxc:LineStyle Thickness="6" DashCap="Round">
<dxc:LineStyle.DashStyle>
<DashStyle Dashes="0,2" Offset="0">
</DashStyle>
</dxc:LineStyle.DashStyle>
</dxc:LineStyle>
</dxc:SplineSeries2D.LineStyle>
<dxc:SeriesPoint Argument="2015" Value="1000"/>
<dxc:SeriesPoint Argument="2016" Value="900"/>
<dxc:SeriesPoint Argument="2017" Value="880"/>
<dxc:SeriesPoint Argument="2018" Value="260"/>
<dxc:SeriesPoint Argument="2019" Value="240"/>
<dxc:SeriesPoint Argument="2020" Value="220"/>
<dxc:SeriesPoint Argument="2021" Value="80"/>
<dxc:SeriesPoint Argument="2022" Value="80"/>
<dxc:SeriesPoint Argument="2023" Value="80"/>
<dxc:SeriesPoint Argument="2024" Value="80"/>
</dxc:SplineSeries2D>
</dxc:XYDiagram2D.Series>
</dxc:XYDiagram2D>
</dxc:ChartControl>
</Grid>
Demo中包括:
1、设置X/Y轴-包括颜色、刻度、范围
2、行线颜色、顶上和底部行线取巧的设置
3、注状图、波浪图、线、圆点虚线、普通虚线。
4、背景、Legend设置等等
DevExpress ChartControl 样式设置的更多相关文章
- DevExpress导出Excel样式设置
/// <summary> /// 导出到Excel /// </summary> /// <param name="gridControl"> ...
- DevExpress TreeList GridView 样式设置
1.GridView 样式设置 this.gridViewUser.PaintStyleName = "Flat"; 2.TreeList 样式设置 this.treeListDe ...
- WPF DevExpress ChartControl用法
WPF常用的第三方控件集,DevExpress中ChartControl的使用 下面介绍如何生成Chart界面: <dxc:ChartControl AnimationMode="On ...
- DevExpress皮肤样式
[时间] 2016-02-15 11:41:11 天气晴 没有雾霾难得的好天气!!! [工具] (1)Visual Studio 2015 (2)DevExpress15.2.3 [感言] 一直以来都 ...
- js学习进阶-元素获取及样式设置
var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <arti ...
- placeholder的样式设置
在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...
- Asp.Net中应用Aspose.Cells输出报表到Excel 及样式设置
解决思路: 1.找个可用的Aspose.Cells(有钱还是买个正版吧,谁开发个东西也不容易): 2.在.Net方案中引用此Cells: 3.写个函数ToExcel(传递一个DataTable),可以 ...
- DevExpress ChartControl大数据加载时有哪些性能优化方法
DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等) ...
- 导出Excel之Epplus使用教程2(样式设置)
导出Excel之Epplus使用教程1(基本介绍) 导出Excel之Epplus使用教程2(样式设置) 导出Excel之Epplus使用教程3(图表设置) 导出Excel之Epplus使用教程4(其他 ...
随机推荐
- Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结
Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码 用户操作 ,比如 ...
- 【翻译】MongoDB指南/引言
[原文地址]https://docs.mongodb.com/manual/ 引言 MongoDB是一种开源文档型数据库,它具有高性能,高可用性,自动扩展性 1.文档数据库 MongoDB用一个文档来 ...
- PHP 高级编程(1/5) - 编码规范及文档编写
PHP 高级程序设计学习笔记20140612 软件开发中的一个重要环节就是文档编写.他可以帮助未来的程序维护人员和使用者理解你在开发时的思路.也便于日后重新查看代码时不至于无从下手.文档还有一个重要的 ...
- 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树
这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...
- Angular中ngCookies模块介绍
1.Cookie介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短 ...
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
- YYModel 源码解读(二)之NSObject+YYModel.h (3)
本篇主要介绍的是 在真正转之前的几个辅助函数 /** Get number from property. @discussion Caller should hold strong reference ...
- spring aop
什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将 ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- Java进击C#——应用开发之Linq和EF
本章简言 上一章笔者对于WinForm开发过程用到的几个知识点做了讲解.笔者们可以以此为开端进行学习.而本章我们来讲一个跟ORM思想有关的知识点.在讲之前让我们想一下关于JAVA的hibernate知 ...