WPF DevExpress 设置雷达图Radar样式
DevExpress中定义的ChartControl很不错,很多项目直接使用这种控件。
本节讲述雷达图的样式设置
<Grid>
<Grid.Resources>
<DataTemplate x:Key="LabelItemDataTemplate" DataType="dxc:SeriesLabelItem">
<Border CornerRadius="8" Padding="8,1" Background="Transparent">
<!--<Border.Background>
<Binding Path="Color">
<Binding.Converter>
<dxc:BrushOverlayConverter/>
</Binding.Converter>
</Binding>
</Border.Background>-->
<TextBlock Text="{Binding Text}"/>
</Border>
</DataTemplate>
</Grid.Resources>
<dxc:ChartControl Background="Transparent" BorderBrush="Transparent" BorderThickness="0" ToolTipEnabled="True">
<dxc:RadarDiagram2D x:Name="RadarDiagram2D" DomainBrush="Transparent" ShapeStyle="Circle" RotationDirection="Clockwise" DomainBorderBrush="#FF0885FF">
<dxc:RadarDiagram2D.AxisY>
<dxc:RadarAxisY2D GridLinesBrush="#FF0885FF" GridLinesMinorVisible="False" Brush="Transparent">
<dxc:RadarAxisY2D.NumericScaleOptions>
<dxc:ContinuousNumericScaleOptions AutoGrid="False" GridSpacing="20" GridOffset="0" ></dxc:ContinuousNumericScaleOptions>
</dxc:RadarAxisY2D.NumericScaleOptions>
<dxc:RadarAxisY2D.Label>
<dxc:AxisLabel Visible="False"></dxc:AxisLabel>
</dxc:RadarAxisY2D.Label>
<dxc:RadarAxisY2D.WholeRange>
<dxc:Range AutoSideMargins="False"></dxc:Range>
</dxc:RadarAxisY2D.WholeRange>
</dxc:RadarAxisY2D>
</dxc:RadarDiagram2D.AxisY>
<dxc:RadarDiagram2D.AxisX>
<dxc:RadarAxisX2D GridLinesBrush="#FF0885FF">
<dxc:RadarAxisX2D.Label>
<dxc:AxisLabel Foreground="White" Staggered="False">
</dxc:AxisLabel>
</dxc:RadarAxisX2D.Label>
</dxc:RadarAxisX2D>
</dxc:RadarDiagram2D.AxisX>
<dxc:RadarDiagram2D.Series>
<dxc:RadarAreaSeries2D Transparency="0.7" Brush="GreenYellow">
<dxc:RadarAreaSeries2D.MarkerModel>
<dxc:CustomMarker2DModel>
<dxc:CustomMarker2DModel.PointTemplate>
<ControlTemplate TargetType="dxc:CustomModelControl">
<Ellipse Width="4" Height="4" Fill="GreenYellow"></Ellipse>
</ControlTemplate>
</dxc:CustomMarker2DModel.PointTemplate>
</dxc:CustomMarker2DModel>
</dxc:RadarAreaSeries2D.MarkerModel>
<dxc:RadarAreaSeries2D.Label>
<dxc:SeriesLabel Visible="True" ConnectorVisible="False" ElementTemplate="{StaticResource LabelItemDataTemplate}"
Indent="0" dxc:CircularSeries2D.Angle="0"></dxc:SeriesLabel>
</dxc:RadarAreaSeries2D.Label>
<dxc:SeriesPoint Argument="C#" Value="95" Tag="30"></dxc:SeriesPoint>
<dxc:SeriesPoint Argument="Java" Value="20" Tag="100" />
<dxc:SeriesPoint Argument="Python" Value="60" Tag="30" />
<dxc:SeriesPoint Argument="Ruby" Value="80" Tag="20"/>
<dxc:SeriesPoint Argument="VB.Net" Value="50" Tag="0"/>
<dxc:SeriesPoint Argument="VBA" Value="90" Tag="62" />
</dxc:RadarAreaSeries2D>
</dxc:RadarDiagram2D.Series>
</dxc:RadarDiagram2D>
</dxc:ChartControl>
</Grid>
1、先设置主体,首先背景设置成透明
ShapeStyle="Polygon"是设置雷达图的形状,Polygon指多边形,Circle就是圆圈了。
RotationDirection="Clockwise",指是数据否顺时针显示
2、设置AxisY
<dxc:RadarDiagram2D.AxisY>
<dxc:RadarAxisY2D GridLinesBrush="#FF0885FF" GridLinesMinorVisible="False" Brush="Transparent">
<dxc:RadarAxisY2D.NumericScaleOptions>
<dxc:ContinuousNumericScaleOptions AutoGrid="False" GridSpacing="20" GridOffset="0" ></dxc:ContinuousNumericScaleOptions>
</dxc:RadarAxisY2D.NumericScaleOptions>
<dxc:RadarAxisY2D.Label>
<dxc:AxisLabel Visible="False"></dxc:AxisLabel>
</dxc:RadarAxisY2D.Label>
<dxc:RadarAxisY2D.WholeRange>
<dxc:Range MinValue="0" MaxValue="100" AutoSideMargins="False"></dxc:Range>
</dxc:RadarAxisY2D.WholeRange>
</dxc:RadarAxisY2D>
</dxc:RadarDiagram2D.AxisY>
GridLinesMinorVisible设置是否补充线条,
AutoGrid="False" GridSpacing="20"设置刻度间隔
dxc:AxisLabel Visible="False"这个可以设置是否显示Y刻度
Range 当然就是范围了,默认不设置也没问题 3、设置AxisX
<dxc:RadarDiagram2D.AxisX>
<dxc:RadarAxisX2D GridLinesVisible="True" Interlaced="False" GridLinesMinorVisible="False" GridLinesBrush="#FF0885FF">
<dxc:RadarAxisX2D.Label>
<dxc:AxisLabel Foreground="White">
</dxc:AxisLabel>
</dxc:RadarAxisX2D.Label>
</dxc:RadarAxisX2D>
</dxc:RadarDiagram2D.AxisX>
GridLinesBrush设置中间交叉线的颜色。
dxc:AxisLabel设置数据标题的样式
4、数据
<dxc:RadarDiagram2D.Series>
<dxc:RadarAreaSeries2D Transparency="0.7" Brush="GreenYellow">
<dxc:RadarAreaSeries2D.MarkerModel>
<dxc:CustomMarker2DModel>
<dxc:CustomMarker2DModel.PointTemplate>
<ControlTemplate TargetType="dxc:CustomModelControl">
<Ellipse Width="4" Height="4" Fill="GreenYellow"></Ellipse>
</ControlTemplate>
</dxc:CustomMarker2DModel.PointTemplate>
</dxc:CustomMarker2DModel>
</dxc:RadarAreaSeries2D.MarkerModel>
<dxc:RadarAreaSeries2D.Label>
<dxc:SeriesLabel Visible="True" ConnectorVisible="False" ElementTemplate="{StaticResource LabelItemDataTemplate}"
Indent="0" dxc:CircularSeries2D.Angle="0"></dxc:SeriesLabel>
</dxc:RadarAreaSeries2D.Label>
<dxc:SeriesPoint Argument="C#" Value="95" Tag="30"></dxc:SeriesPoint>
<dxc:SeriesPoint Argument="Java" Value="20" Tag="100" />
<dxc:SeriesPoint Argument="Python" Value="60" Tag="30" />
<dxc:SeriesPoint Argument="Ruby" Value="80" Tag="20"/>
<dxc:SeriesPoint Argument="VB.Net" Value="50" Tag="0"/>
<dxc:SeriesPoint Argument="VBA" Value="90" Tag="62" />
</dxc:RadarAreaSeries2D>
</dxc:RadarDiagram2D.Series>
CustomMarker2DModel.PointTemplate可以重写数据点的模板
dxc:SeriesLabel Visible="True" ConnectorVisible="False" ElementTemplate="{StaticResource LabelItemDataTemplate}" 这个设置数据值的显示样式
值得一提的是,雷达图中数据值默认显示的是Value,那如果需要的话,是否可以设置为其它值呢?答案是可以的,通过用Tag存储数据或者直接用数据绑定,然后在dxc:RadarAreaSeries2D.Label的模板中绑定父属性Tag或者绑定数据就行了。
WPF DevExpress 设置雷达图Radar样式的更多相关文章
- Odoo 8 Graph 视图 之 雷达图 (Radar\Spider)
据说7.0是有Radar图的,但是8以后被阉割掉了.自己动手 ,丰衣足食. 经过一天的努力,雷达图现已成功加入群共享套餐.
- 关于echarts生成雷达图的一些参数介绍
export const industryFactorOption = { title: { text: '雷达图', textStyle: { color: 'rgba(221,221,221,1) ...
- 用pChart生成雷达图图片
需求 :由于工作需要,需要在一张背景图上添加这一张雷达图,之后图片可以在微信中长按保存.所以说我必须生成一张带有雷达图的图片第一反应是用百度echars雷达图做动态显示,之后截图.考虑到工作量和效率, ...
- python批量制作雷达图
老板要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT(( ...
- echarts雷达图点击事件
最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts配置问题:https://www.douban.com/note/509404582/ <!doctype ...
- 第三方Charts绘制图表四种形式:饼状图,雷达图,柱状图,直线图
对于第三方框架Charts(Swift版本,在OC项目中需要添加桥接头文件),首先要解决在项目中集成的问题,集成步骤: 一.下载Charts框架 下载地址:https://github.com/dan ...
- echarts雷达图点击事件 包含(2.x,3.85,4.02)测试
最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts 2x 的点击事件 echarts配置问题:https://www.douban.com/note/509404 ...
- 数据可视化基础专题(十二):Matplotlib 基础(四)常用图表(二)气泡图、堆叠图、雷达图、饼图、
1 气泡图 气泡图和上面的散点图非常类似,只是点的大小不一样,而且是通过参数 s 来进行控制的,多的不说,还是看个示例: 例子一: import matplotlib.pyplot as plt im ...
- 利用matlibplot绘制雷达图
之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...
随机推荐
- 阿里云 SDK python3支持
最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...
- 【Win 10 应用开发】TCP通信过程
基于TCP协议的通信,估计大伙儿都不陌生的,以前玩.net或玩C++的时候应该玩得很多吧.现在老周简单介绍一下在RT中如何用. TCP是基于连接的,所以,肯定有一方是监听者,通常称服务端或服务器,它负 ...
- 阿里的weex框架到底是什么
title: 阿里的weex框架到底是什么 date: 2016-09-27 10:22:34 tags: vue, weex category: 技术总结 --- weex 工作原理 首先看下官方的 ...
- Webpack从入门到上线
webpack是目前一个很热门的前端打包工具,官网说得很清楚,webpack的出现就是要把requirejs干掉.同时它还提供了十分便利的本地开发的环境.网上并不容易找到一个讲解得比较详细完整的教程, ...
- Node.js:events事件模块
Nodejs的大部分核心API都是基于异步事件驱动设计的,所有可以分发事件的对象都是EventEmitter类的实例. 大家知道,由于nodejs是单线程运行的,所以nodejs需要借助事件轮询,不断 ...
- jQuery:实现两个<select>控件的互移操作
一.直接上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- Microsoft Build 2016 Day 2 记录(多图慎入)
Microsoft Build 2016 Day 1 记录 Microsoft Build 2016 进行到了第二天,我觉得这一天的内容非常精彩,因为主要和开发者相关
- C#:解决WCF中服务引用 自动生成代码不全的问题。
问题描述: 如下图:打叉的部分是引用不成功的部分 ,在web.config文件中没有自动添加其引用代码. 英文解释 在服务引用选择自己的项目的程序集就行了,如下图: 特别注意:这些程序集一定要在自己的 ...
- CSS学习笔记——视觉格式化模型 visual formatting model
CSS 视觉格式化模型(visual formatting model)是用来处理文档并将它显示在视觉媒体上的机制.他有一套既定的规则(也就是W3C规范),规定了浏览器该怎么处理每一个盒子.以下内容翻 ...
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
原文:Working with Static Files 作者:Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay).孟帅洋(书缘) 静态文 ...