新功能:
樹狀圖
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 中的圖表大小
-
文本渲染更改
-
已棄用延遲圖像映射