JFreeChart with selectable domain axis and zoom
You'll have to combine several approaches:
Panning controls: Invoke,
setDomainPannable(true)
to enable panning; in your controls, usepanDomainAxes()
, as shown in the implementation ofmouseDragged()
; use the mouse as suggested here.Zooming: Zooming by dragging on the axis is not supported, but dragging on the plot is supported; drag right to see the selection rectangle. To ensure the mouse wheel only zooms the domain axis when is rolled, invoke
setRangeZoomable(false)
on theChartPanel
; vice-versa for the range axis.Zooming out: Drag left to zoom out or use a button handler, as shown here.
Tooltips: Enable tooltips in your chosen
ChartFactory
. If needed, create a customXYToolTipGenerator
, as shown here.