Qt Data Visualization 1.1 New features ------------ - Support for rendering the graph into an image. - QValue3DAxisFormatter class for creating custom value axis formatters. With a custom formatter, you can control axis grid line and label positions, as well as fully customize the label strings. - Logarithmic value axes are now supported via a QLogValue3DAxisFormatter. - Support for adding custom items and labels inside the graph with QCustom3DItem and QCustom3DLabel classes. - Q3DScene::selectionQueryPosition now can select axis labels and custom items as well as data items. Selection is detected via QAbstract3DGraph::selectedElement property. - The current frames per second (FPS) measurement can be enabled and queried via QAbstract3DGraph::measureFps and QAbstract3DGraph::currentFps properties. - QValue3DAxis::reversed property allows drawing the axis in reverse direction. - A single item model role can be mapped to multiple properties of the data items when using item model proxies. Regular expression search and replace can be used to make the data unique for each property. Useful for parsing e.g. timestamp field to get values for both rows and columns of a bar chart. - Support for aggregating multiple mapping matches in bar and surface item model proxies into single bar or surface point. - Support for orthographic projection in graphs via QAbstract3DGraph::orthoProjection. - Axis labels can now be set to automatically orient towards the camera with QAbstract3DAxis::labelAutoRotation property to increase label readability at all angles. - Bars3D: Clicking row/column labels can now be used to highlight rows/columns if the selection mode allows it. - Surface3D: X values in items of a row and Z values of items of a column can now be either ascending or descending for the surface to be valid. - Aspect ratio, i.e. the ratio between horizontal and vertical axes can be changed for scatter and surface graphs. - Axis titles can now be optionally displayed beside the axes in the primary graph view. - Added support for optional optimizations via QAbstract3DGraph::optimizationHints. Note: This feature is currently in beta. The only optimization hint currently supported is OptimizationStatic for scatter graphs, which vastly improves the render speed for large static data sets, allowing millions of points to be displayed on desktop platforms. Fixed issues ------------ General: - Optimized series caching in renderer. - Optimized object mesh caching in renderer. - Optimized visible are calculation for surface graphs. - Fixed crash when setting null color/gradient to theme in QML. - Fixed overriding theme color with explicit series color in QML. - Optimized changing only single item/row in data proxies. - Fixed a crash when using both Qt Charts and Qt Data Visualization in the same application. Note: This causes a binary break for the item model proxies. - Bars3D: Fixed incorrect label positioning in slice mode when grid off. - Bars3D: User defined meshes that have flat base no longer glimmer through graph floor when viewed from below. - Scatter3D: Range gradient now works for MeshPoints. - Surface3D: Fixed a crash when shadows were supported by OpenGL but flat shading was not. - Surface3D: Selection texture no longer gets corrupted in case there are multiple surfaces visible and the axis ranges are adjusted. New examples ------------ - customitems: Example about showing custom items and labels in the graph. - draggableaxes: Shows how to implement an input handler to enable scrolling the graph via dragging the axes. - qmlaxisdrag: Shows how to implement an input handler to enable scrolling the graph via dragging the axes in QML. - qmlaxisformatter: Shows how to use customize axes using axis formatters. Platform specific changes ------------------------- - Fixed issue with graph not always updating before rotating the graph in iOS. - Fixed shader linking error on some Android versions. - Fixed memory leaks in OS X and Android builds.