新功能:
树状图
TreeMap 图表是 ChartDirector 中一种新的图表类型。树状图类似于饼图。饼图将圆划分为切片,而树状图将矩形划分为多个矩形。子矩形可以分成更多的矩形。因此,树状图可用于可视化具有多级划分的树状数据结构。
离散热图
离散热图是 XYChart 的新图层类型。它由根据数据值着色的正方形或矩形单元格组成。与等高线图层一样,离散热图图层包含将数据值映射到颜色的颜色轴。
圆棒表
圆形条形仪表类似于线性条形仪表,但条形向圆形方向弯曲。通过使用角度渐变,沿着条的颜色可以根据仪表值而变化。仪表的中心可用于以文本形式显示仪表值。
多页 PDF 输出
ChartDirector 的 PDF 输出功能已扩展为允许生成多页 PDF。每个页面可以包含多个图表以及自由格式的文本、表格、绘图和图像。这意味着 ChartDirector 现在可以生成完整的 PDF 报告。
海量数据集支持
借助新的 DataAccelerator 对象,ChartDirector 可以绘制具有 10 亿个数据点的图表,支持平滑缩放、滚动和跟踪光标,并以每秒数千个数据点的速度实时更新。
高 DPI 支持
ChartDirector GUI 控件,例如 C++ 和 .NET 中的图表查看器控件和视口控件,现在将自动检测应用程序是否具有高 DPI 感知能力,并将在检测到的 DPI 上调整渲染图表的大小。还有一些 API 可以强制图表以给定的 DPI 呈现。
自动响应图像映射
在响应式网页设计中,网页元素可以根据是通过桌面设备还是移动设备查看来更改大小和布局。这通常是通过使用级联样式表 (CSS) 来实现的。但是,浏览器通常无法调整 HTML 图像映射的大小。如果调整图表图像的大小,它将不再与图像地图匹配,并且热点和工具提示可能无法正常工作。
在以前版本的 ChartDirector 中,可以编写 Javascript 代码来将图表注册到 ChartDirector Javascript 图表查看器。然后将动态调整图像地图的大小以适合图像。在 ChartDirector 7.0 上,这是自动的,不需要代码。
CDML 工具提示
ChartDirector GUI 控件现在支持使用 CDML(ChartDirector 标记语言)格式化工具提示。这允许工具提示的丰富格式、半透明的工具提示容器,并允许工具提示包含图标和图像。
CDML 增强功能
CDML 添加了对带有圆角和可配置边距的容器以及 polyshape 符号的支持。(请参阅下面的 PolyShape 部分。)
轮廓标签
ChartDirector 现在可以沿着等高线图或热图中的等高线绘制标签。这允许轮廓值直接显示在轮廓上,而不必根据底层颜色查找它们的值。
轮廓横截面
ChartDirector 现在可以计算等高线图或热图上两点之间的横截面。横截面表示为沿连接两点的直线的 z 值。
轮廓工具提示
ChartDirector 现在支持在等高线图或热图上不断变化的工具提示,以在鼠标移动时显示 (x, y, z) 值。
轮廓 getZAtPixel
ChartDirector 7.0 引入了一个新的 API ContourLayer.getZAtPixel,用于获取等高线图或热图上任何 (x, y) 位置的 z 值。
4D 表面
在曲面图中,曲面由 (x, y, z) 坐标定义。默认情况下,z 坐标也决定了表面颜色。ChartDirector 现在支持使用额外的坐标 w 作为表面颜色。例如,w 坐标可以表示表面上的温度。在这种情况下,颜色将基于温度而不是 z 坐标。
表面 XY 投影
曲面图在 XY 平面上的投影是等高线图。ChartDirector 现在可以包括在曲面图的 XY 墙上的投影。
表面线和区域
ChartDirector 现在支持在曲面或曲面图上包含自定义线段和矩形区域。
表面纹理
ChartDirector 现在支持在曲面图的曲面上绘制自定义图像,图像可以是半透明的,以免遮挡底层曲面。可以使用另一个图表或 DrawArea 对象动态生成图像。此功能对于在图表上添加自定义注释很有用。一个示例是使用极坐标图作为图像以在图表上包含半透明圆形区域。
表面工具提示
ChartDirector 现在支持表面图表上不断变化的工具提示,以在鼠标移动时显示 (x, y, z, w) 值。
表面 getValuesAtPixel
ChartDirector 7.0 引入了一个新的 API SurfaceChart.getValuesAtPixel,用于获取表面图表上任何像素位置的 (x, y, z, w) 值。
PDF/SVG 中的表面图输出
PDF 和 SVG 格式基本上是为 2D 图形设计的。在之前版本的ChartDirector 中,对于3D 表面图表,ChartDirector 需要通过SVG/PDF 的2D 图形功能使用多种方式来模拟3D 图形。生成的 SVG/PDF 可能变得非常大和复杂,以至于许多 SVG/PDF 查看器和浏览器都难以显示它们。
ChartDirector 7.0 现在使用混合渲染方法。3D 部分由 ChartDirector 预渲染,而图表的文本、线条和 2D 部分则使用 PDF/SVG 图形渲染。生成的 PDF/SVG 小得多,可以通过常见的 PDF/SVG 查看器和浏览器查看。
保持纵横比缩放
在以前版本的 ChartDirector 中,为了支持缩放,x 和 y 方向独立缩放。发现仅在 x 方向上缩放的图表是很常见的。对于双向缩放的图表,用户可以拖动一个矩形进行缩放,以便 x 和 y 方向按不同的因子进行缩放。
ChartDirector 7.0 引入了“保持纵横比”模式,在缩放过程中保持纵横比不变。这对于与 x 和 y 方向必须按相同系数缩放的地理地图相关的等高线图很有用。
角度渐变颜色
ChartDirector 现在支持角度渐变颜色,这是一种根据像素相对于中心点的方位来改变颜色的渐变。
X 尺度颜色和 Y 尺度颜色
在以前版本的 ChartDirector 中,色阶用于根据等高线和曲面图的 z 值定义颜色。ChartDirector 7.0 现在对此进行了扩展,以支持基于 XY 图表中的 x 和 y 值对对象进行着色。
ColorAxis.getColorScale
ChartDirector 现在可以导出颜色轴的色标。色标可用于其他图表以确保它们具有一致的颜色。例如,如果要将等高线图的横截面可视化为面积图,则可以将等高线图的色标用作面积图的 y 轴颜色,以确保颜色一致。
Axis.syncScale
ChartDirector 7.0 引入了一个新的 Axis.syncScale API 来仅同步轴刻度。相比之下,现有的 Axis.syncAxis API 同步轴比例和几何。
符号的 XY 大小
在以前版本的 ChartDirector 中,对于散点符号,大小参数指的是宽度和高度。具有不同宽度和高度的符号需要两个数组来分别为每个符号指定宽度和高度。
ChartDirector 7.0 引入了一个新的 API xySize,可以将不同的宽度和高度编码为单个大小参数。例如,现在可以通过使用具有不同宽度和高度的“圆形”符号来指定椭圆符号。
图例框 CDML 文本项
ChartDirector 图例框中的图例项通常包含一个图标,后跟描述该图标含义的文本。ChartDirector 7.0 添加了对纯文本项的支持。文本可以是 CDML(ChartDirector 标记语言)格式。它可用于添加标题或空行将图例项分隔为部分,或在非标准位置添加带有图标的图例项。
PolyShape 支持
ChartDirector 允许对符号使用自定义形状。在以前版本的 ChartDirector 中,自定义形状可以是任何多边形或椭圆。ChartDirector 7.0 添加了对使用奇偶规则填充的复合形状的支持。例如,现在可以通过组合内部的六边形和圆形来制作内部带有透明圆孔的六边形符号。奇偶规则意味着圆内的区域根本没有被填充,所以它变成了一个透明的洞。
字体规范
在用于 C++、Perl、Python、PHP 和 ASP/COM/VB 的以前版本的 ChartDirector 中,字体是使用它们的文件名指定的。ChartDirector 7.0 还允许使用其系列名称指定安装在 Windows 或 macOS 操作系统中的字体,后跟可选的“Bold”和/或“Italic”关键字。仍然支持字体文件名,因为它们对于私有字体或作为资源嵌入可执行文件中的字体很有用。
支持 Postscript 大纲的开放式字体(CFF 字体)
在用于 C++、Perl、Python、PHP 和 ASP/COM/VB 的早期版本的 ChartDirector 中,仅支持真字体(包括具有真字体轮廓的开放式字体)。ChartDirector 7.0 也增加了对带有 postscript 轮廓的开放式字体的支持。
视口右/下的 Getter 方法
在以前版本的 ChartDirector 中,视口的右侧位置必须计算为视口左侧和视口宽度的总和。同样,底部位置必须计算为视口顶部和视口高度的总和。ChartDirector 7.0 增加了两种直接获取视口右/下的方法。
改进:
ChartDirector 7.0 旨在与以前版本的 ChartDirector 代码兼容。这意味着现有代码应该继续运行。但是,生成的图表在以下方面可能会有所不同。
-
默认高 DPI 支持
-
响应式网页设计支持
-
.NET 特定更改的 ChartDirector
-
SVG 中的图表大小
-
文本渲染更改
-
已弃用延迟图像映射