当图表的数据和轴被正确的格式化时,我们可以自定义它的元素来让图表看起来更加的清晰和更加的专业化。以下是一些关于自定义一个图表的外观的主题。
视觉效果设计器
视觉效果是一个可以用来直观地提升 Chart2D 元素(诸如数据序列,表头,页尾等)外观效果的工具。所有既存的工程都能够使用该工具的最新功能。通过视觉效果设计器中的少数几个简单的步骤就能够明显地提升图表的外观。
局限性
视觉效果渲染不是很适合在非常大且复杂的数据数组或者在有很高的性能要求的场景下使用。
当你运行图形化的视觉效果设计器时,它的外观如下:
关于如何访问视觉效果设计器的更多信息,请参见访问视觉效果设计器(307 页)。
视觉效果设计器导航
视觉效果设计器有非常直观的接口外观。
设计器由两部分组成。第一部分位于视觉效果设计器的左边。它显示了支持视觉效果渲染的元素的列表,和一个显示了当前元素外观的预览面板。
第二部分位于视觉效果设计器的右边,该部分含有 3 个选项卡:
预设,颜色,和参数。
除了图表元素,预览面板,选项卡页外,设计器的底部还有一些命令按钮。命令按钮包括
OK,Cancel,和 Reset 按钮。OK 按钮的功能是关闭视觉效果设计器并保存所有的修改。Cancel 按钮的功能是取消视觉效果设计器并回滚在编辑模式下的任何修改。Reset 按钮的功能是重置选中的属性值。
视觉效果元素
视觉效果元素可以独立地应用到不同的图表元素上。每一个支持视觉效果的元素都可以拥有自己的或者继承自父元素的自定义设置。
下表描述了在视觉效果设计器中的所有可用元素
元素名称 | 父元素 | 描述 |
Default |
| 用来绘制所有的数据元素 |
Header | Default | 表头背景 |
Header。Text | Header | 表头文字 |
Footer | Default | 页尾背景 |
Footer。Text | Footer | 页尾文字 |
关于如何将视觉效果应用到图表元素上的更多信息,请参见添加视觉效果到图表元素(307
页)
视觉效果设计器选项卡
视觉效果设计器含有预设,颜色,和参数 3 个选项卡。
预设
预设选项卡的外观如下:
预设选项卡含有一系列可用的 Chart2D 元素的内置设置。它能够通过一个简单的点击来非常直观地添加一个或者所有的可用的 Chart2D 元素。
颜色颜色选项卡的外观如下:
颜色选项卡页含有颜色的亮度,饱和度,色调转换的游标,亮度,饱和度,色调转换代表了红,蓝,绿的配色方案。你可以通过调整亮度和饱和度来得到任何你想要的图表元素上的色调,而不是把你限制在几种特定的颜色之内。你甚至可以通过色调转换游标来改变所有的颜色。关于图表元素的颜色游标的更多信息,请参见使用颜色游标扩展既存的图表数据序列(319 页)或者图表表头和页尾@使用颜色游标来为图表表头和页尾扩展既存的颜色。
亮度游标
亮度是一个色调的亮度或者暗度。当要增加亮度的等级时,向右滑动亮度游标。相反地,当要减少亮度的等级时,向左滑动亮度游标。
饱和度游标
饱和度是一个色调从灰色基调到纯色的色调的强度。饱和度游标的取值的范围从-100到100。
其中,-100 代表没有饱和度(灰色基调),100 代表高饱和度(纯色调)。
向右滑动饱和度游标能使颜色看其来更鲜艳,更强烈。随着你向右移动游标,颜色的强度将随之进一步的增加。
为了让颜色变淡,向左移动游标。当你向左移动游标时,颜色的强度将进一步的减少。
色调转换游标
色调代表色轮中的一个特定的颜色。色调的值取决于亮度和饱和度的值。当高饱和度但没有亮度(值是 0)时,色调看起来是灰黑色的。当高亮度但是没有饱和度时,色调看起来是无光泽的/ 白色。
参数参数选项卡的外观如下图:
参数选项卡包含 Chart2D 元素的缩放,边框,灯光和阴影效果的属性。使用这些属性你可以在自定义图表元素上用于无限的可能性。关于这些属性的更多信息,请参见视觉效果参数(236
页)。
视觉效果参数
本节描述了所有的视觉效果参数,以及它们之间的相互关系。
缩放和边框效果
Scalable 属性的默认值是 True。当 Scalable 属性起效时你可以使用 ScaleEffects 属性来设置图像的缩放因子。你可以把缩放效果因子设置为从 0 到 1 的值。默认值是 0.5。当缩放因子
大于 0.5 时,缩放将把图像变的更光亮。反之,当缩放因子小于 0.5 时,缩放将把图像变的更暗。
你可以通过使用ScaleEffects属性而非Offset属性来获得一个更加光亮或者更加暗的效果,因为它保留了相对更好的图像对比度。当 Offset 属性设置为 0 时,你感觉不到 ScaleEffects 属性的效果。
你可以通过设定Width 属性来指定元素边框的宽度。当 Scalable 属性设置为 True 时Width 属性的单位是相对单位,否则的话它以像素为单位。
关于在图表元素上应用缩放和边框效果的更多信息,请参考增加数据序列中符号的大小
(320 页)
灯光效果
你甚至可以通过使用角度,渐变,明暗度,缩放,和形状来改变光源的效果从而达到自定义图表元素的属性的目的。
你可以通过更改 Angle 属性来改变一个视觉渲染的角度到一个不同的度上。 Angle 属性的默认值是 45 度,其取值范围是从-180 到 180 度。当你改变 Angle 属性的值的时候,光束指向颜色并且以反时钟方向在正方形中移动。
你可以通过使用 Gradient 属性来在图表元素上应用光渐变效果。该属性的默认值是 Simple。
该属性含有 3 个不同的设置: Simple, SigmeBell 和 Triangle。当你在光渐变属性上选择
SigmeBell 或者 Triangle 值时,一个 Focus 属性就会出现。 Focus 属性的默认值是 0.1。当你增加 Focus 属性值时,光线逐渐地从以前的位置在相反的方向上移动。例如,当 Focus 属性从
0 变为 1 时,光线位置会为 SigmeBell 或者 Triangle 渐变移动到相反的方向上。
下图表示了光线位置在 Focus 属性为 0 和设置为 1 时的转变。
Focus = 0 Focus = 1
当光线明暗度设置为 0 时,渐变效果不是很明显。当你增加光线明暗度时光线的渐变效果会有更明显的效果。明暗度的默认值是 0.9。
你可以通过设置 Scale 属性值小于 1 来在一个图表元素上展示重复光图案。当你减少 Scale 属性的值时,光图案重复的更多。 Scale 属性的取值范围是从 0 到 1。
注意: Scale 属性仅在矩形光形状上才能使用。
下表展示了在光线明暗度设置为 1 且 Scale 属性设置为 0.4 时不同的光线渐变的效果。
Light Gradient | Image | ||
| Simple |
| |
| SigmeBell |
| |
| Triangle |
|
你可以通过视觉效果设计器的 Shape 属性把光线的形状设置为 rectangle, ellipse, 或者 edge,默认的光线形状为 rectangle。
当你设置光线形状为 edge 时, Gradient 和 Scale 属性由于不会明显地影响 edge 光线形状而不可用。当你选择 Ellipse 形状时,两个额外的 Shift 和 Size 属性被添加以用来最更进一步的自定义。你可以通过滑动 Shift 游标来改变经过元素的 Ellipse 形状的光线。你可以通过从左到右地拖动 Size 游标来增加 ellipse 光线形状的大小。
下表展示了 rectangle, ellipse, and edge 形状如何表现在图表元素上:
Rectangle | Ellipse | Edge |
关于如何添加光线效果到特定的图表元素上的更多信息,请参见在图表表头和页尾添加一个光图案(309 页),在图表表头和页尾添加一个光线形状(310 页),或者调整图表表头和页尾的光线焦点(313 页)。
13.1.4.3 阴影效果
你可以通过增加 Offset 属性的值来添加引用效果。当该属性的值在 3 到 5(最高值)时阴影的效果最明显。你可以通过增加 transparency 的值来加深阴影的效果。 transparency 的默认值是
64。当你启用 soft 属性时元素上的阴影效果看起来会更加的柔和。
关于将阴影效果应用到特定元素上的更多信息,请参见在图表的表头和页尾添加阴影效果
(312 页)。
图表标题
一个图表含有 Header 和 Footer 两个标题。一个标题由一行或者多行文字组成,并且可以自定义是否含有可选的边框。因为每个标题都可以置于图表的上部,底部,左边,右边,所以不能按照传统的观点说Header必须位于对象的上部,而Footer必须位于对象的下部。另外,Header 和 Footer 的文字对齐方式,位置,颜色和字体都是可以修改的。
标题,文字和对齐
可以通过使用名为图表属性设计器的智能设计器或者通过 Text 属性来自定义 Header 和
Footer 的文字。
使用上述设计器的 Header 和 Footer 工具栏或者通过 Text 属性可以添加,修改或者删除
Header和Footer上的文字。Text 属性位于对应的标题节点(Header或者Footer)的属性窗口中。
使用 HorizontalAlignment 属性或者 VerticalAlignment 属性来指定文字是居中,左对齐,还是右对齐。
通过 Visual Studio 的属性窗口中的 Header 或者 Footer 节点可以在设计时找到这些属性。
标题位置和大小
使用标题的 Compass 属性来指定标题相对于图表区的位置。可以选择相对于图表区的 4 个方位。
使用 Location 对象的 X 和 Y 属性来自定义标题的位置。通过设置 X 或者 Y 为-1 来将位置置为自动适应位置。可以通过 Visual Studio 的属性窗口中的 Header 或者 Footer 节点下的
Location 节点来在设计时找到这些属性。
使用 Size 对象的Width 和 Height 属性来自定义标题的大小。通过设置 Width 或者 Height 为-1来将大小重置为自动适应大小。可以通过 Visual Studio的属性窗口中的Header或者Footer 节点下的 Size 节点来在设计时找到这些属性。
更多信息请参见图表元素的位置和大小(252 页)。
标题边框
使用边框的 Type 和 Width 属性来自定义标题的边框。可以通过 Visual Studio 的属性窗口中的 Header 或者 Footer 节点下的 Style 节点来在设计时找到这些属性。更多的信息请参见图表边框(242 页)。
标题颜色和渐变效果
可以使用 ForeColor 和 BackColor 属性来自定义标题的背景和文字颜色。
可以通过 Visual Studio 的属性窗口中的 Header 或者 Footer 节点下的 Style 节点来在设计时找到这些属性。更多的信息请参见图表颜色(243 页)。
标题字体
使用 Font 属性来自定义标题使用的字体。 可以通过 Visual Studio 的属性窗口中的 Header 或者 Footer 节点下的Style 节点来在设计时找到这些属性。更多的信息请参见图表字体(242 页)。
图表图例
每次图表中出现数据时图表都会自动地生成一个图例。图表给序列分配位于
ChartDataSeries 对象中的名字来作为序列的标示。序列的 LineStyle 和 SymbolStyle 属性决定了随着图例的序列名字成对出现的符号。图例的位置,边框,颜色和字体都可以自定义。
图例位置
使用 Compass 属性来指定图例相对于图表区的位置。可以选择相对于图表区的 4 个方位。
可以通过 Visual Studio 的属性窗口中的 Legend 节点在设计时找到 Compass 属性。
默认情况下图表自动选择图例的位置。使用 Location 的 X 和 Y 属性来精细地调整位置。 可以通过 Visual Studio 的属性窗口中的 Legend 节点下的 Location 节点在设计时找到这些属性。
默认情况下图表会自动计算图例的大小。使用 Size 的 Height 和 Width 属性来精细地调整大
小。可以通过Visual Studio的属性窗口中的Legend节点下的Size节点在设计时找到这些属性。
图例标题
使用 Text 属性来指定图例的标题。图例的标题出现在其上部居中的位置。可以通过 Visual
Studio 的属性窗口中的 Legend 节点找到 Text 属性。
图例边框
使用边框的 Type 和 Width 属性来自定义图例的边框。可以通过 Visual Studio 的属性窗口中的Legend节点下的Style节点来在设计时找到这些属性。更多的信息请参见图表边框(242页)。
图例颜色
可以使用 ForeColor 和 BackColor 属性来自定义图例的背景和文字颜色。可以通过 Visual Studio 的属性窗口中的 Legend 节点下的 Style 节点来在设计时找到这些属性。更多的信息请参见图表颜色(243 页)。
图例字体
使用 Font 属性来自定义图例使用的字体。可以通过 Visual Studio 的属性窗口中的 Legend 节点下的 Style 节点来在设计时找到这些属性。更多的信息请参见图表字体(242 页)。
序列的线和符号样式
ChartDataSeries 的 LineStyle and SymbolStyle 属性能够让每一个序列在展示方面更加的完善。不仅限于序列线的线和符号,这些属性还可以修改 Pie 扇形图表切片的颜色,改变 Radar 图表序列的颜色,或者设置 HiLo 图表序列的宽度。
LineStyle 属性含有 Color, Pattern, Thickness, LineJoin 和 MiterLimit 属性。通常这些属性设置画线连接处的颜色,图案,连接样式,联接限制,和序列的线的厚度属性。
SymbolStyle 属性含有 Color, Pattern 和 Thickness 属性。通常这些属性设置序列中的符号的颜色,图案和厚度。
下表描述了这两个属性是如何影响每一种图表类型的。请注意这些属性对一些图表类型是无效的,而对于另外一些图表类型,这些属性设置的是线和符号之外的另一些属性。
值 | LineStyle 属性的效果 | SymbolStyle 属性的效果 |
Chart2DTypeEnum.XYPlot | 改变连接数据点的线的颜色,厚度,图案。 | 改变序列的符号样式。 |
Chart2DTypeEnum.Pie | 改变序列的背景色(段) | 无效 |
Chart2DTypeEnum.Bar | 改变序列的背景色 | 无效 |
Chart2DTypeEnum.Area | 改变序列的背景色 | 无效 |
Chart2DTypeEnum.Polar | 改变序列线的背景色,图案和厚度。 | 改变序列符号样式,背景色和厚度。 |
Chart2DTypeEnum.Radar | 改变序列线的背景色,图案和厚度。 | 改变序列符号样式,背景色和厚度。 |
Chart2DTypeEnum.HiLo | 改变序列线的背景色,图案和厚度。 | 无效 |
Chart2DTypeEnum.HiLoOp enClose | 改变序列线的背景色,图案和厚度。 | 无效 |
Chart2DTypeEnum.Candle | 改变下跌股票价格的背景色,和烛光形状的厚度。 | 改变上升股票价格的背景色,和烛光形状的厚度。 |
一个更精细的控制绘制的方法是使用画笔而非仅仅使用 LineStyle 和 SymbolStyle 属性来指定颜色。画笔可以提供比颜色更丰富的,更独特的外观—包括影线,渐变和纹理。
线的 FitType
对于有绘制线的图表(XY-Plot, Area, Polar 和 Radar)。FitType 属性设置线如何处理图
表上的各个点。该属性使用一个 FitTypeEnum 枚举。
FitTypeEnum.Line
Line 适应是绘制线的默认方式,线直接穿过各个点。Line 的图示如下:
FitTypeEnum.Spline
Spline 方式是以曲线的形式来穿过各个点,不过是以平滑弯曲的方式来绘制线。熟悉如何在大多数的应用程序中创建曲线的很可能对 Spline 也会感到很熟悉。
FitTypeEnum.Beziers
Beziers方式的做法是线不必穿过每一个点,但是点像磁铁一样,向特定方向牵引线的弯曲,而且影响曲线的弯曲方式。
图表边框
给图表的部分内容加上边框可以强调重要的信息,或者简单地使图表看起来更吸引人。以下图表元素的边框类型和宽度可以自定义:
表头和页尾标题 图例
图表区
图表整体 下图展示了所有合法的边框类型,同时还可以指定没有边框。
改变边框
使用 Type 属性来改变边框的类型,使用 Width 属性来改变边框的厚度。 可以通过 Visual Studio 的属性窗口中 Control, ChartArea, Titles, Legend, 和 ChartLabels 对象中的 Style 节点中找到这些属性。
图表字体
通过自定义不同图表元素的字体可以使图表看起来更有冲击力。可以调整一个元素的字体大小来让它更加地适应图表的全局大小。
改变字体
使用.NET 标准的字体属性编辑器来设置字体,样式和大小属性。字体属性位于 Visual Studio 的属性窗口中的 Style 节点下。
图表颜色
颜色可以增加一个图表的视觉效果。颜色可以通过颜色名称,选择一个颜色主题,使用 RGB 值,或者使用交互式的颜色选择器来进行自定义。以下所列的图表中的可视元素都含有一个背景色和前景色可以来自定义设置。
- 图表整体
- 数据序列
- 表头和页尾标题
- 图例
- 图表区
- 每一个添加到图表的图表标签。
交互式地选择颜色
颜色可以使用交互式的.NET 颜色对话框来进行设置,该对话的功能与框标准 Windows 颜
色对话框一样。可以从Windows 基本色,自定义颜色,或者交互式地从全部颜色光谱中选择。
为数据序列设置颜色主题
可以通过 ColorGeneration 属性来选择数据序列的颜色主题。默认情况下, C1Chart 使用 ColorGeneration.Custom 设置指定标准的颜色生成方式。其余的选项模拟 Microsoft Office 的颜色主题。以下是可用的数据序列的颜色主题: 颜色生成设置 描述或者效果预览
CopyCurrentToCustom 拷贝现有的特定颜色组到自定义 group.*
!worddavbdf5694f188a9c0c64b685167dac7289.png|height=222,width=272!Custom (default)
Standard
!worddavf7cc3b2337253368e0e42799e2225aa1.png|height=222,width=272!Office
GrayScale
!worddavc72861ea26547a772b69c0e1502ba8a7.png|height=222,width=272!Apex Aspect
Civic
!worddava704dbb08efb7cd5776687dc1161050f.png|height=222,width=272!Concourse Equity
Flow
!worddav7ef091199137a2f4efcf0a8a002c7d87.png|height=222,width=272!Foundry Median
Metro
!worddav3ae2b772a456322c0ae7936b16305582.png|height=222,width=272!Module Opulent
Oriel
!worddav46a5db19d56472aa8e099820adf055f3.png|height=222,width=272!Origin Paper
Solstice
!worddavdac212808eea46a4508204b4e6e641ea.png|height=222,width=272!Technic Trek
Urban
Verve 请注意当 ColorGeneration 属性值设置为 CopyToCustom 时,当前颜色被拷贝到自定义颜色生成上。而且该属性被自动的修改为 ColorGeneration.Custom 以进行进一步的自定义设置。并且请注意该操作无论图表数据是由字符串,文件,还是由设计器加载的,都会自动完成。由于颜色定制是用于每一个图表数据序列的 LineStyle 和 SymbolStyle 上的,所以这些定制会影响当前状态和自定义状态的值。
指定 RGB 颜色
或者,颜色也可以使用 RGB 组件来指定,当匹配另一种 RGB 颜色时这样做将非常有用。 RGB 颜色的值是用 16 进制数字表示颜色的红,绿,蓝部分。"00"是一个颜色部分的最小值,"ff" 是一个颜色部分的最大值。例如,"#ff00ff"代表紫红色(红色和蓝色部分的最大值并且没有绿色部
分)。
指定色调,饱和度和明暗度
颜色不仅由 RGB 部分组成,而且还可以使用色调,饱和度,明暗度来标示。色调,饱和度和明暗度对红,绿,蓝三种颜色部分都起效。色调是由红,绿,蓝色调组成的色轮中的一个特殊色调。饱和度是一个色调从灰色基调到纯色的色调的明暗度,亮度是一个色调的亮度或者暗度。
C1Chart 含有一个视觉效果设计器来让你指定数据序列,表头和页尾标题,和图例元素的色调,饱和度和明暗度。
使用透明色
除了图表本身外的所有元素的背景色和前景色都可以被设置为"透明色"。
当背景色或者前景色被设置为透明色时,图表使用元素的容器的颜色作为元素的背景色。例如,当表头的背景色被设置为透明色时,其使用图表本身的颜色作为自己的背景色。
换句话说,当一个元素的背景色被设置为透明色时,其背景不会被绘制。当一个元素的前景色被设置为透明色时,前景(例如,标题的文字)不会被绘制出来。
可以通过 Visual Studio 的属性窗口中 Control, ChartArea, Titles, Legend, 和
ChartLabels 对象中的 Style 节点中找到透明色属性。
图表元素的位置和大小
每一个主要的图表元素(Header, Footer, Legend, ChartArea, 和 ChartLabels)都含有能控制自身位置和大小的属性。另一方面,图表可以自动地控制除了图表标签之外的元素的位置,还可以自动控制任何元素的大小。这些属性都可以被自定义。
当图表控制位置时,会为表头,页尾和图例预留存在的空间(大小是由内容,边框和字体决定的)。 ChartArea 元素的大小和位置会被设置为占据最大剩余区域的矩形。当图表的其它属性被修改时,位置会被重新调整。
改变位置
使用 Location 的 X 属性来指定从图表的边界到图表元素的左边界的像素数。使用 Y 属性来指定从图表的边界到图表元素的顶部的像素数。设置 X 和 Y 属性值为-1 来让图表自动定位元素的位置。
可以通过 Visual Studio 的属性窗口中 ChartArea, Titles, Legend, 和 ChartLabels 节点中的 Location 节点找到这些属性。
改变宽度和高度
使用 Location 属性的Width 和 Height 来指定图表元素的宽度和高度。设置这两个属性值为
-1 可以让图表自动地给图表元素设置大小。
这些节点位于 Visual Studio 的属性窗口中的 Location 节点,并且在设计时可用。
为数据绘制自定义画笔
该部分描述了在绘制过程中使用 DrawDataSeriesEventArgs 事件来创建自定义画笔的信息。
每当一个数据序列被绘制时,都会有一个 C1Chart 的 DrawDataSeries 事件被触发。这个事件让我们在绘制时进行自定义画笔的选择。该事件的发送方对象是将要被绘制的 C1Chart。
ChartDataSeries。事件数据(DrawDataSeriesEventArgs)含有以下属性:
- Brush 属性定义了绘制数据序列将使用的画笔。当你想自定义画笔时,你需要创建一个你自己的画笔,并将该画笔赋给 Brush 属性。
- 布尔类型的 DisposeBrush 属性值指定了当画笔使用完后是否需要被释放。当该属性被设置为 False 时,你必须自己负责释放画笔。
- GroupIndex 属性设置图表组的索引。
- SeriesIndex 属性设置图表组的索引。
- Bounds 属性代表数据将被绘制的矩形区域。当创建渐变的画笔时该矩形非常有用。
创建阴影画笔
下面的简单代码片段代表了创建阴影画笔的处理程序。
请注意以下给出的代码片段中一些对象的初始化声明中使用了全命名空间。在其后这些对象
的使用过程中为了简洁而省略了全命名空间的写法。
Visual Basic
Private Sub C1Chart1_DrawDataSeries(ByVal sender As Object, _ ByVal e As
C1.Win.C1Chart.DrawDataSeriesEventArgs) _ Handles C1Chart1.DrawDataSeries
Dim ds As C1.Win.C1Chart.ChartDataSeries = sender
Dim foreclr As Color = ds.SymbolStyle.Color
Dim backclr As Color = ds.LineStyle.Color
Dim hb As System.Drawing.Drawing2D.HatchBrush
hb = New HatchBrush(HatchStyle.OutlinedDiamond, foreclr, backclr) e.Brush = hb
End Sub- C#
private void c1Chart1_DrawDataSeries(object sender, C1.Win.C1Chart.DrawDataSeriesEventArgs e) |
下图展示了阴影画笔的柱状图。
创建渐变画笔
下面的简单代码片段代表了创建线性渐变画笔的处理程序。
请注意以下给出的代码片段中一些对象的初始化声明中使用了全命名空间。在其后这些对象
的使用过程中为了简洁而省略了全命名空间的写法。
Visual Basic
Private Sub C1Chart1_DrawDataSeries(ByVal sender As Object, _ ByVal e As
C1.Win.C1Chart.DrawDataSeriesEventArgs) _ Handles C1Chart1.DrawDataSeries
Dim ds As C1.Win.C1Chart.ChartDataSeries = sender
Dim clr1 As Color = ds.LineStyle.Color
Dim clr2 As Color = ds.SymbolStyle.Color
If(e.Bounds.Height > 0 And e.Bounds.Width > 0) Then
Dim lgb As System.Drawing.Drawing2D.LinearGradientBrush = _ New
LinearGradientBrush(e.Bounds, clr1, clr2, LinearGradientMode.Horizontal) e.Brush = lgb
End If
End SubC#
private void c1Chart1_DrawDataSeries(object sender,
C1.Win.C1Chart.DrawDataSeriesEventArgs e)
{
C1.Win.C1Chart.ChartDataSeries ds = (ChartDataSeries)sender;
Color clr1 = ds.LineStyle.Color; Color clr2 = ds.SymbolStyle.Color; if(e.Bounds.Size.Height > 0 && e.Bounds.Size.Width > 0)
{
System.Drawing.Drawing2D.LinearGradientBrush lgb = new
LinearGradientBrush(e.Bounds,clr1,clr2,inearGradientMode.Horizontal); e.Brush = lgb;
}
}下图展示了线性渐变画笔。