public PlotState getPlotState() { PlotState state = super.getPlotState(); /* Modify ranges. This is required because of confusion about what * axes mean between GraphicsWindow and SphereWindow. */ if (state.getValid()) { double[][] bounds = state.getRanges(); int naux = state.getShaders().length; Range[] viewRanges = getViewRanges(); Range[] dataRanges = getDataRanges(); boolean[] logFlags = state.getLogFlags(); boolean[] flipFlags = state.getFlipFlags(); int mainNdim = getMainRangeCount(); for (int i = 0; i < naux; i++) { logFlags[mainNdim + i] = logFlags[3 + i]; flipFlags[mainNdim + i] = flipFlags[3 + i]; Range range = new Range(dataRanges[mainNdim + i]); range.limit(viewRanges[mainNdim + i]); bounds[mainNdim + i] = range.getFiniteBounds(logFlags[mainNdim + i]); } } return state; }