C# WPF中用ChartControl绘制柱形图

本文程演示了图表设计器,它允许您从头开始自定义或创建图表。本文演示使用设计器创建简单未绑定图表所需的步骤。

01

使用设计器创建图表

Step 1. 创建新项目并运行图表设计器

  • 创建一个新的WPF应用程序项目。

  • 如第1课所述,将ChartControl组件添加到项目中(请参见步骤1)。

  • 调用图表控件的智能标记菜单或快速操作。选择运行设计器链接:

2c5be832cf43acd9c9423f9ea112cb32.png

这将调用图表设计器。

您可以在图表元素树部分中看到并排条形图系列(系列1)。请注意,系列1没有系列点。

5922fe170598618f9c0f8939341f6030.png

Step 2. 将Series 添加到图表中

在本节中,将第二个系列添加到图表中,并用点填充这两个系列。

  • 在树中选择系列1,然后在“选项”选项卡中,指定“填充”作为系列的显示名称。

e64fa76f9f9501e4e29fa7532f43c88e.png

  • 使用“展开”按钮展开“填充系列”选项,然后选择“点”项目。

  • 在“数据”选项卡中,使用以下数据填充参数和值列:

eeeff666510f345a1dcda35a18bcc7d5.png

然后,将第二个系列添加到图表中(例如,面积系列)。为此,请执行以下操作:

  • 单击“元素”树中系列项目的“添加”按钮。在“调用”对话框中,单击“区域二维系列类型”。这将使用随机生成的数据将面积系列(系列2)添加到图表中。请注意,参数的轴刻度类型是基于第一个系列的定性数据定义的。第二个序列是隐藏的,因为它有数值参数。

a423ae2b7354fb1fe48da040ce76b8c3.png

  • 将第二个系列的显示名称指定为区域。

    68d3a3dfd2e03c7a46f656caa241a6b5.png

  • 单击“清除系列数据”按钮以清除自动生成的数据。

247e61bbe4e4f5588a11ab4b2287206b.png

然后,定义面积系列点的数据,如下所示:

0ac09dfb2ed30c72446f8b1fd6b1527b.png

Step 3. 自定义图表

本节介绍如何自定义图表的外观。

#在单独的窗格中显示系列

以下步骤显示如何在单独的窗格中显示每个系列:

  • 展开“窗格”项。单击“其他窗格”项目的“添加”按钮以创建新窗格。

9727729b387e93acca9cba9f83e938dc.png

  • 在“图元”树中选择面积系列。在选项选项卡中,找到窗格选项,并在其下拉列表中选择窗格#1项。

787e22e51edfbfe29e5d7e321b11e0c4.png

添加次轴

按照以下步骤添加和自定义次轴:

  • 展开“轴”项目。单击次Y轴项目的“添加”按钮以添加次Y轴。

    81b1db68de5375053a2bf6c65e235c9d.png

选择面积系列。在“选项”选项卡中,使用选项的下拉列表将“Y轴”选项设置为次轴Y#1。

fde6167b04821ea2823c3af0e1faeee9.png

在“图元”树中选择次轴Y#1。然后,将轴的对齐选项设置为“近”。

79def48beb8a423c9729d6068b8dff43.png

下图显示了结果。单击“保存并退出”按钮应用所有更改并关闭设计器。

28b74d88e8a9dfd84ced1fe6c8e4b83b.png

02


结果

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Lesson2"
        xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts" 
        x:Class="Lesson2.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="405" Width="720">
    <Grid>
        <dxc:ChartControl>
            <dxc:ChartControl.Legends>
                <dxc:Legend/>
            </dxc:ChartControl.Legends>
            <dxc:XYDiagram2D PaneOrientation="Vertical">
                <dxc:XYDiagram2D.SecondaryAxesY>
                    <dxc:SecondaryAxisY2D x:Name="axisy0" Alignment="Near"/>
                </dxc:XYDiagram2D.SecondaryAxesY>
                <dxc:XYDiagram2D.DefaultPane>
                    <dxc:Pane x:Name="pane"/>
                </dxc:XYDiagram2D.DefaultPane>
                <dxc:XYDiagram2D.Panes>
                    <dxc:Pane x:Name="pane0"/>
                </dxc:XYDiagram2D.Panes>
                <dxc:BarSideBySideSeries2D DisplayName="Population">
                    <dxc:SeriesPoint Argument="USA" Value="321.3"/>
                    <dxc:SeriesPoint Argument="Russia" Value="146.2"/>
                    <dxc:SeriesPoint Argument="Canada" Value="35.7"/>
                    <dxc:SeriesPoint Argument="Brazil" Value="201"/>
                    <dxc:SeriesPoint Argument="Australia" Value="23.1"/>
                </dxc:BarSideBySideSeries2D>
                <dxc:AreaSeries2D DisplayName="Area" 
                                  dxc:XYDiagram2D.SeriesPane="{Binding ElementName=pane0}" 
                                  dxc:XYDiagram2D.SeriesAxisY="{Binding ElementName=axisy0}">
                    <dxc:SeriesPoint Argument="USA" Value="9.5"/>
                    <dxc:SeriesPoint Argument="Russia" Value="17.1"/>
                    <dxc:SeriesPoint Argument="Canada" Value="10"/>
                    <dxc:SeriesPoint Argument="Brazil" Value="8.5"/>
                    <dxc:SeriesPoint Argument="Australia" Value="7.7"/>
                </dxc:AreaSeries2D>
            </dxc:XYDiagram2D>
        </dxc:ChartControl>
    </Grid>
</Window>

运行应用程序。下图显示了运行时生成的图表:

5e63d1205dfba3354918f9dcc2214938.png

原文链接:https://docs.devexpress.com/WPF/17461/controls-and-libraries/charts-suite/chart-control/getting-started/lesson-2-create-a-chart-using-the-designer

翻译小编:mm1552923

公众号:dotNet编程大全

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值