新功能:
樹狀圖
TreeMap 圖表是 ChartDirector 中一種新的圖表類型。樹狀圖類似于餅圖。餅圖將圓劃分為切片,而樹狀圖將矩形劃分為多個(gè)矩形。子矩形可以分成更多的矩形。因此,樹狀圖可用于可視化具有多級(jí)劃分的樹狀數(shù)據(jù)結(jié)構(gòu)。
離散熱圖
離散熱圖是 XYChart 的新圖層類型。它由根據(jù)數(shù)據(jù)值著色的正方形或矩形單元格組成。與等高線圖層一樣,離散熱圖圖層包含將數(shù)據(jù)值映射到顏色的顏色軸。
圓棒表
圓形條形儀表類似于線性條形儀表,但條形向圓形方向彎曲。通過使用角度漸變,沿著條的顏色可以根據(jù)儀表值而變化。儀表的中心可用于以文本形式顯示儀表值。
多頁 PDF 輸出
ChartDirector 的 PDF 輸出功能已擴(kuò)展為允許生成多頁 PDF。每個(gè)頁面可以包含多個(gè)圖表以及自由格式的文本、表格、繪圖和圖像。這意味著 ChartDirector 現(xiàn)在可以生成完整的 PDF 報(bào)告。
海量數(shù)據(jù)集支持
借助新的 DataAccelerator 對(duì)象,ChartDirector 可以繪制具有 10 億個(gè)數(shù)據(jù)點(diǎn)的圖表,支持平滑縮放、滾動(dòng)和跟蹤光標(biāo),并以每秒數(shù)千個(gè)數(shù)據(jù)點(diǎn)的速度實(shí)時(shí)更新。
高 DPI 支持
ChartDirector GUI 控件,例如 C++ 和 .NET 中的圖表查看器控件和視口控件,現(xiàn)在將自動(dòng)檢測(cè)應(yīng)用程序是否具有高 DPI 感知能力,并將在檢測(cè)到的 DPI 上調(diào)整渲染圖表的大小。還有一些 API 可以強(qiáng)制圖表以給定的 DPI 呈現(xiàn)。
自動(dòng)響應(yīng)圖像映射
在響應(yīng)式網(wǎng)頁設(shè)計(jì)中,網(wǎng)頁元素可以根據(jù)是通過桌面設(shè)備還是移動(dòng)設(shè)備查看來更改大小和布局。這通常是通過使用級(jí)聯(lián)樣式表 (CSS) 來實(shí)現(xiàn)的。但是,瀏覽器通常無法調(diào)整 HTML 圖像映射的大小。如果調(diào)整圖表圖像的大小,它將不再與圖像地圖匹配,并且熱點(diǎn)和工具提示可能無法正常工作。
在以前版本的 ChartDirector 中,可以編寫 Javascript 代碼來將圖表注冊(cè)到 ChartDirector Javascript 圖表查看器。然后將動(dòng)態(tài)調(diào)整圖像地圖的大小以適合圖像。在 ChartDirector 7.0 上,這是自動(dòng)的,不需要代碼。
CDML 工具提示
ChartDirector GUI 控件現(xiàn)在支持使用 CDML(ChartDirector 標(biāo)記語言)格式化工具提示。這允許工具提示的豐富格式、半透明的工具提示容器,并允許工具提示包含圖標(biāo)和圖像。
CDML 增強(qiáng)功能
CDML 添加了對(duì)帶有圓角和可配置邊距的容器以及 polyshape 符號(hào)的支持。(請(qǐng)參閱下面的 PolyShape 部分。)
輪廓標(biāo)簽
ChartDirector 現(xiàn)在可以沿著等高線圖或熱圖中的等高線繪制標(biāo)簽。這允許輪廓值直接顯示在輪廓上,而不必根據(jù)底層顏色查找它們的值。
輪廓橫截面
ChartDirector 現(xiàn)在可以計(jì)算等高線圖或熱圖上兩點(diǎn)之間的橫截面。橫截面表示為沿連接兩點(diǎn)的直線的 z 值。
輪廓工具提示
ChartDirector 現(xiàn)在支持在等高線圖或熱圖上不斷變化的工具提示,以在鼠標(biāo)移動(dòng)時(shí)顯示 (x, y, z) 值。
輪廓 getZAtPixel
ChartDirector 7.0 引入了一個(gè)新的 API ContourLayer.getZAtPixel,用于獲取等高線圖或熱圖上任何 (x, y) 位置的 z 值。
4D 表面
在曲面圖中,曲面由 (x, y, z) 坐標(biāo)定義。默認(rèn)情況下,z 坐標(biāo)也決定了表面顏色。ChartDirector 現(xiàn)在支持使用額外的坐標(biāo) w 作為表面顏色。例如,w 坐標(biāo)可以表示表面上的溫度。在這種情況下,顏色將基于溫度而不是 z 坐標(biāo)。
表面 XY 投影
曲面圖在 XY 平面上的投影是等高線圖。ChartDirector 現(xiàn)在可以包括在曲面圖的 XY 墻上的投影。
表面線和區(qū)域
ChartDirector 現(xiàn)在支持在曲面或曲面圖上包含自定義線段和矩形區(qū)域。
表面紋理
ChartDirector 現(xiàn)在支持在曲面圖的曲面上繪制自定義圖像,圖像可以是半透明的,以免遮擋底層曲面。可以使用另一個(gè)圖表或 DrawArea 對(duì)象動(dòng)態(tài)生成圖像。此功能對(duì)于在圖表上添加自定義注釋很有用。一個(gè)示例是使用極坐標(biāo)圖作為圖像以在圖表上包含半透明圓形區(qū)域。
表面工具提示
ChartDirector 現(xiàn)在支持表面圖表上不斷變化的工具提示,以在鼠標(biāo)移動(dòng)時(shí)顯示 (x, y, z, w) 值。
表面 getValuesAtPixel
ChartDirector 7.0 引入了一個(gè)新的 API SurfaceChart.getValuesAtPixel,用于獲取表面圖表上任何像素位置的 (x, y, z, w) 值。
PDF/SVG 中的表面圖輸出
PDF 和 SVG 格式基本上是為 2D 圖形設(shè)計(jì)的。在之前版本的ChartDirector 中,對(duì)于3D 表面圖表,ChartDirector 需要通過SVG/PDF 的2D 圖形功能使用多種方式來模擬3D 圖形。生成的 SVG/PDF 可能變得非常大和復(fù)雜,以至于許多 SVG/PDF 查看器和瀏覽器都難以顯示它們。
ChartDirector 7.0 現(xiàn)在使用混合渲染方法。3D 部分由 ChartDirector 預(yù)渲染,而圖表的文本、線條和 2D 部分則使用 PDF/SVG 圖形渲染。生成的 PDF/SVG 小得多,可以通過常見的 PDF/SVG 查看器和瀏覽器查看。
保持縱橫比縮放
在以前版本的 ChartDirector 中,為了支持縮放,x 和 y 方向獨(dú)立縮放。發(fā)現(xiàn)僅在 x 方向上縮放的圖表是很常見的。對(duì)于雙向縮放的圖表,用戶可以拖動(dòng)一個(gè)矩形進(jìn)行縮放,以便 x 和 y 方向按不同的因子進(jìn)行縮放。
ChartDirector 7.0 引入了“保持縱橫比”模式,在縮放過程中保持縱橫比不變。這對(duì)于與 x 和 y 方向必須按相同系數(shù)縮放的地理地圖相關(guān)的等高線圖很有用。
角度漸變顏色
ChartDirector 現(xiàn)在支持角度漸變顏色,這是一種根據(jù)像素相對(duì)于中心點(diǎn)的方位來改變顏色的漸變。
X 尺度顏色和 Y 尺度顏色
在以前版本的 ChartDirector 中,色階用于根據(jù)等高線和曲面圖的 z 值定義顏色。ChartDirector 7.0 現(xiàn)在對(duì)此進(jìn)行了擴(kuò)展,以支持基于 XY 圖表中的 x 和 y 值對(duì)對(duì)象進(jìn)行著色。
ColorAxis.getColorScale
ChartDirector 現(xiàn)在可以導(dǎo)出顏色軸的色標(biāo)。色標(biāo)可用于其他圖表以確保它們具有一致的顏色。例如,如果要將等高線圖的橫截面可視化為面積圖,則可以將等高線圖的色標(biāo)用作面積圖的 y 軸顏色,以確保顏色一致。
Axis.syncScale
ChartDirector 7.0 引入了一個(gè)新的 Axis.syncScale API 來僅同步軸刻度。相比之下,現(xiàn)有的 Axis.syncAxis API 同步軸比例和幾何。
符號(hào)的 XY 大小
在以前版本的 ChartDirector 中,對(duì)于散點(diǎn)符號(hào),大小參數(shù)指的是寬度和高度。具有不同寬度和高度的符號(hào)需要兩個(gè)數(shù)組來分別為每個(gè)符號(hào)指定寬度和高度。
ChartDirector 7.0 引入了一個(gè)新的 API xySize,可以將不同的寬度和高度編碼為單個(gè)大小參數(shù)。例如,現(xiàn)在可以通過使用具有不同寬度和高度的“圓形”符號(hào)來指定橢圓符號(hào)。
圖例框 CDML 文本項(xiàng)
ChartDirector 圖例框中的圖例項(xiàng)通常包含一個(gè)圖標(biāo),后跟描述該圖標(biāo)含義的文本。ChartDirector 7.0 添加了對(duì)純文本項(xiàng)的支持。文本可以是 CDML(ChartDirector 標(biāo)記語言)格式。它可用于添加標(biāo)題或空行將圖例項(xiàng)分隔為部分,或在非標(biāo)準(zhǔn)位置添加帶有圖標(biāo)的圖例項(xiàng)。
PolyShape 支持
ChartDirector 允許對(duì)符號(hào)使用自定義形狀。在以前版本的 ChartDirector 中,自定義形狀可以是任何多邊形或橢圓。ChartDirector 7.0 添加了對(duì)使用奇偶規(guī)則填充的復(fù)合形狀的支持。例如,現(xiàn)在可以通過組合內(nèi)部的六邊形和圓形來制作內(nèi)部帶有透明圓孔的六邊形符號(hào)。奇偶規(guī)則意味著圓內(nèi)的區(qū)域根本沒有被填充,所以它變成了一個(gè)透明的洞。
字體規(guī)范
在用于 C++、Perl、Python、PHP 和 ASP/COM/VB 的以前版本的 ChartDirector 中,字體是使用它們的文件名指定的。ChartDirector 7.0 還允許使用其系列名稱指定安裝在 Windows 或 macOS 操作系統(tǒng)中的字體,后跟可選的“Bold”和/或“Italic”關(guān)鍵字。仍然支持字體文件名,因?yàn)樗鼈儗?duì)于私有字體或作為資源嵌入可執(zhí)行文件中的字體很有用。
支持 Postscript 大綱的開放式字體(CFF 字體)
在用于 C++、Perl、Python、PHP 和 ASP/COM/VB 的早期版本的 ChartDirector 中,僅支持真字體(包括具有真字體輪廓的開放式字體)。ChartDirector 7.0 也增加了對(duì)帶有 postscript 輪廓的開放式字體的支持。
視口右/下的 Getter 方法
在以前版本的 ChartDirector 中,視口的右側(cè)位置必須計(jì)算為視口左側(cè)和視口寬度的總和。同樣,底部位置必須計(jì)算為視口頂部和視口高度的總和。ChartDirector 7.0 增加了兩種直接獲取視口右/下的方法。
改進(jìn):
ChartDirector 7.0 旨在與以前版本的 ChartDirector 代碼兼容。這意味著現(xiàn)有代碼應(yīng)該繼續(xù)運(yùn)行。但是,生成的圖表在以下方面可能會(huì)有所不同。
-
默認(rèn)高 DPI 支持
-
響應(yīng)式網(wǎng)頁設(shè)計(jì)支持
-
.NET 特定更改的 ChartDirector
-
SVG 中的圖表大小
-
文本渲染更改
-
已棄用延遲圖像映射