Is it possible to color the scatters on graph selection, too?
Is it possible to color the scatters on graph selection, too?
Not at the moment. This feature will come with the more sophisticated selection system that will allow selection of individual data point ranges.
If you want the feature now, it's quite easy to add. Add a property "selectedScatterStyle" (getter/setter) with internal member QCPScatterStyle mSelectedScatterStyle
. Then just modify the code of
void QCPGraph::drawScatterPlot(QCPPainter *painter, QVector<QCPData> *scatterData) const
from
mScatterStyle.applyTo(painter, mPen); if (keyAxis->orientation() == Qt::Vertical) { for (int i=0; i<scatterData->size(); ++i) mScatterStyle.drawShape(painter, valueAxis->coordToPixel(scatterData->at(i).value), keyAxis->coordToPixel(scatterData->at(i).key)); } else { for (int i=0; i<scatterData->size(); ++i) mScatterStyle.drawShape(painter, keyAxis->coordToPixel(scatterData->at(i).key), valueAxis->coordToPixel(scatterData->at(i).value)); }
to something like
QCPScatterStyle style = mSelected ? mSelectedScatterStyle : mScatterStyle; style.applyTo(painter, mPen); if (keyAxis->orientation() == Qt::Vertical) { for (int i=0; i<scatterData->size(); ++i) style.drawShape(painter, valueAxis->coordToPixel(scatterData->at(i).value), keyAxis->coordToPixel(scatterData->at(i).key)); } else { for (int i=0; i<scatterData->size(); ++i) style.drawShape(painter, keyAxis->coordToPixel(scatterData->at(i).key), valueAxis->coordToPixel(scatterData->at(i).value)); }