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样式的更多相关文章

  1. Odoo 8 Graph 视图 之 雷达图 (Radar\Spider)

    据说7.0是有Radar图的,但是8以后被阉割掉了.自己动手 ,丰衣足食. 经过一天的努力,雷达图现已成功加入群共享套餐.

  2. 关于echarts生成雷达图的一些参数介绍

    export const industryFactorOption = { title: { text: '雷达图', textStyle: { color: 'rgba(221,221,221,1) ...

  3. 用pChart生成雷达图图片

    需求 :由于工作需要,需要在一张背景图上添加这一张雷达图,之后图片可以在微信中长按保存.所以说我必须生成一张带有雷达图的图片第一反应是用百度echars雷达图做动态显示,之后截图.考虑到工作量和效率, ...

  4. python批量制作雷达图

    老板要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT(( ...

  5. echarts雷达图点击事件

    最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts配置问题:https://www.douban.com/note/509404582/ <!doctype ...

  6. 第三方Charts绘制图表四种形式:饼状图,雷达图,柱状图,直线图

    对于第三方框架Charts(Swift版本,在OC项目中需要添加桥接头文件),首先要解决在项目中集成的问题,集成步骤: 一.下载Charts框架 下载地址:https://github.com/dan ...

  7. echarts雷达图点击事件 包含(2.x,3.85,4.02)测试

    最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts 2x 的点击事件 echarts配置问题:https://www.douban.com/note/509404 ...

  8. 数据可视化基础专题(十二):Matplotlib 基础(四)常用图表(二)气泡图、堆叠图、雷达图、饼图、

    1 气泡图 气泡图和上面的散点图非常类似,只是点的大小不一样,而且是通过参数 s 来进行控制的,多的不说,还是看个示例: 例子一: import matplotlib.pyplot as plt im ...

  9. 利用matlibplot绘制雷达图

    之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...

随机推荐

  1. css3圆环百分比,菜单栏定位导航

    前段时间,社区个人中心改版,看了下设计图,当时隐约感觉到有两个地方(圆环百分比,菜单栏定位导航)比较麻烦.设计图大致如下: 首先看圆环百分比,网上的做法大致分两种,一种是用了CSS3中的transfo ...

  2. 从零开始编写自己的C#框架(13)——T4模板在逻辑层中的应用(二)

    最近这段时间特忙,公事私事,忙得有时都没时间打开电脑了,这两周只能尽量更新,以后再将章节补回来. 直接进入主题,通过上一章节,大家明白了怎么使用模板类编写T4模板,本章进的是一些简单技巧的应用 1.首 ...

  3. 原创:去繁存简,回归本源:微信小程序公开课信息分析《一》

    以前我开过一些帖子,我们内部也做过一些讨论,我们从张小龙的碎屏图中 ,发现了重要讯息: 1:微信支付将成为重要场景: 2:这些应用与春节关系不小,很多应用在春节时,有重要的场景开启可能性: 3:春节是 ...

  4. 通过Http接口及SolrNet 两种方法基于Solr5.5.1 实现CURD

    前言 老规矩,任何技术的入门我通常都会总结增删改查,本文我就通过HttpWebRequest和SolrNet的方式实现Solr最基础的增删改查(CURD).对于自己的完整项目,同时不想过于依赖第三方类 ...

  5. 13.JAVA之GUI编程将程序打包jar

    jar基本命令: 目标:将下列MyMenuDemo.java代码打包成jar. 方法如下: 1.把java代码放到d:\myclass目录下. 2.按下快捷键ctrl+r,打开运行窗口,输入cmd后回 ...

  6. 在iOS中实现一个简单的画板App

    在这个随笔中,我们要为iPhone实现一个简单的画板App. 首先需要指出的是,这个demo中使用QuarzCore进行绘画,而不是OpenGL.这两个都可以实现类似的功能,区别是OpenGL更快,但 ...

  7. Lua 安全调用 metatable 的简单应用

    事情的经过 我们的项目中存在好几个战斗界面,不过界面中的内容略有不同.跟同事出去吃饭的时候,他问我.我们现在的战斗界面.有很多是重复的,但是也有偶尔几个地方不太一样.我在战斗过程中驱动这些界面的时候. ...

  8. 让Lua支持Linq吧

    第一次接触Linq是在使用C#的时候,这种语法,在处理列表数据非常方便.如果想了解Linq的更多内容可以百度一下Linq,不过你不了解也没关系,让我在Lua中给你展示一下Linq的魅力.简单点说,Li ...

  9. Ionic2系列——在Ionic2中使用ECharts

    在群里看到有人问怎么在Ionic2中集成ECharts来显示图表.当时答应说写个blog,简单写下步骤. 在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话 ...

  10. CentOS系统配置 iptables防火墙

    阿里云CentOS系统配置iptables防火墙   虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...