Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Collapse]Chart Control
   [Expand]Getting Started
   [Expand]Fundamentals
   [Expand]Providing Data
   [Expand]Appearance Customization
   [Collapse]End-User Features
    [Collapse]Basic End-User Interaction
      Selecting and Highlighting (2D Charts)
      Zooming and Scrolling (2D XY-Charts)
      Zooming and Scrolling (3D Charts)
      Rotation (3D Charts)
    [Expand]Crosshair Cursor
     Tooltips
    [Expand]Animation
     Printing and Exporting
     Chart Designer for End-Users
     Integration with a Range Control
     Chart Wizard for End-Users
   [Expand]Design-Time Features
   [Expand]Visual Elements
   [Expand]Examples
   [Expand]Additional Resources
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Expand]Scheduler
  [Expand]Spreadsheet
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]Printing-Exporting
  [Expand]PDF Viewer
   Reporting
  [Expand]Snap
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Zooming and Scrolling (2D XY-Charts)

This document describes how to provide the capability of scrolling and zooming for a 2D chart. A similar functionality is available for 3D charts as well, which is explained at Zooming and Scrolling (3D Charts).

Note that scrolling and/or zooming is only available for a 2D chart if it's built upon the XY-Diagram type, and that neither of these features are available for the WebChartControl.

This document consists of the following sections.

Expanded Zooming a Chart

Zooming can be enabled for X and Y-axes individually, via the XYDiagram2D.EnableAxisXZooming and XYDiagram2D.EnableAxisYZooming properties. These properties permit zooming at the diagram level, which means that by default, when these properties are enabled, zooming is allowed for all the available panes. To individually adjust the availability of zooming for each pane, use the corresponding XYDiagramPaneBase.EnableAxisXZooming and XYDiagramPaneBase.EnableAxisYZooming properties.

After zooming is enabled, it's possible to choose how it can be performed (using the keyboard and / or mouse, gestures such as spread/pinch in your touchscreen device), via the XYDiagram2D.ZoomingOptions property.

To provide a custom functionality when a chart is being zoomed, handle the ChartControl.Zoom event.

In addition, you can provide custom cursors for chart zooming, in the ChartControl.QueryCursor event handler. For an example of its use, refer to How to: Provide a Custom Cursor for a Chart.

To zoom in or out of a chart's diagram, do one of the following.

Action Effect
Press SHIFT and click the diagram. After an end-user presses the SHIFT key, the mouse pointer is changed to . Then, move the mouse pointer to the chart region to be zoomed, and click the left mouse button (holding the SHIFT key).The chart's diagram is zoomed in by 3 times.
Press ALT and click the diagram. After an end-user presses the ALT key, the mouse pointer is changed to . Then, move the mouse pointer to the region to be zoomed out, and click the left mouse button (holding the ALT key).The chart's diagram is zoomed out by 3 times.
Press SHIFT and select a region on the diagram.

After an end-user presses the SHIFT key and the mouse pointer is changed to , select a region on a chart using the left mouse button.

Then, after releasing the left mouse button, a chart is zoomed into the bounds of the selected region on a diagram.

Use CTRL with the "+" or "-" keys. If an end-user presses and holds the CTRL key while pressing the "+" key, a chart's diagram is zoomed in by 20 percent from the current axes ranges.
If an end-user presses and holds the CTRL key while pressing the "-" key, a chart's diagram is zoomed out by 20 percent from the current axes ranges.
Use the mouse wheel. An end-user can scroll the mouse wheel to zoom in and out by 20 percent from the current axes ranges.
Use the spread or pinch gestures on a touchscreen device.

An end-user can zoom in or out a chart's diagram performing either spread or pinch gestures correspondingly on any device supported touchscreen.

Use CTRL + Z combination. Pressing the CTRL + Z keys returns the previous zoom state of a chart's diagram. NOTE: All subsequent operations of a similar kind (for instance, multiple "zoom in" operations) are considered as a single transaction. Pressing CTRL + Z returns the zoom state which existed before the first zoom operation in a zoom series.
Note

If, while pressing SHIFT, a chart no longer zooms in (and the mouse pointer is changed to ), this means that the chart is already zoomed in by 100 times (10000%), which is the maximum zoom factor possible.

When a chart is zoomed in, you can allow your end users to scroll the diagram, which is described in the next section of this document.

Expanded Scrolling a Chart

Scrolling can be enabled for an axis, when a diagram is zoomed in, or when the axis visible range is reduced.

Scrolling can be enabled individually for X and Y-axes, via the XYDiagram2D.EnableAxisXScrolling and XYDiagram2D.EnableAxisYScrolling properties. These properties permit scrolling at the diagram level, which means that by default, when these properties are enabled, scrolling is allowed for all the available panes. To individually adjust the availability of scrolling for each pane, use the corresponding XYDiagramPaneBase.EnableAxisXScrolling and XYDiagramPaneBase.EnableAxisYScrolling properties.

After scrolling is enabled, it's possible to choose how it can be performed (via the mouse, keyboard, using flick gestures in your touchscreen device or using the scroll bars), via the XYDiagram2D.ScrollingOptions property.

You can maintain the range in which an axis can be scrolled, using the AxisRange.ScrollingRange property. For details on this, refer to Visual Ranges and Whole Ranges .

To provide a custom functionality when a chart is being scrolled, handle the ChartControl.Scroll event.

In addition, you can provide custom cursors for chart scrolling in the ChartControl.QueryCursor event handler. For an example of its use, refer to How to: Provide a Custom Cursor for a Chart.

To scroll a chart's diagram, do one of the following.

Action Effect

Hold down the left mouse button, and drag it.
After an end-user holds down the left mouse button, the mouse pointer is changed from to . Then, move the mouse pointer holding the left mouse button, and a chart's diagram is scrolled in the same direction as the mouse pointer is moved.
Use axes' scroll bars. An end-user is able to click a scrollbar arrow, click the scrollbar near the thumb, or drag the thumb and move it. In this instance, a chart's diagram is scrolled in the same way as controls in used Windows applications.
Use CTRL + "Arrow" keys (LEFT, UP, RIGHT or DOWN). If an end-user presses CTRL + LEFT, a chart's diagram is moved to the left.
If an end-user presses CTRL + UP, a chart's diagram is moved up.
If an end-user presses CTRL + RIGHT, a chart's diagram is moved to the right.
If an end-user presses CTRL + DOWN, a chart's diagram is moved down.
Use flick gestures on a touchscreen device.

An end-user can scroll a diagram using flick gestures on the touchscreen device.

Expanded See Also

How would you rate this topic?​​​​​​​