#include "qscatterseries.h" #include "qchart.h" /*! \class QScatterSeries \brief QtCommercial Chart series API for showing scatter series. \mainclass Example on how to create a chart with scatter series: \snippet ../example/scatter/main.cpp 1 The example code would result the following: \image scatter_example1.jpg To customize the graphical representation of the series, you can modify pen, brush, shape and size of the marker items. For example: \snippet ../example/scatter/main.cpp 3 Would present your scatter markers as big rectangles with opaque, uglyish green outlines and opaque red filling instead of the beatiful markers defined by the chart's theme: \image scatter_example_custom.jpg */ /*! \enum QScatterSeries::MarkerShape This enum describes the shape used when rendering marker items. \value MarkerShapeDefault \value MarkerShapeX \value MarkerShapeRectangle \value MarkerShapeRoundedRectangle \value MarkerShapeTiltedRectangle \value MarkerShapeTriangle \value MarkerShapeCircle */ /*! \fn QChartSeriesType QScatterSeries::type() const \brief Returns QChartSeries::SeriesTypeScatter. */ /*! \fn void QScatterSeries::clicked(QPointF coordinate) User clicked the scatter series. Note that the \a coordinate is the chart coordinate that the click occurred on; not necessarily a data point coordinate. To find the corresponding (closest) data point you can use closestPoint(). */ QTCOMMERCIALCHART_BEGIN_NAMESPACE /*! Constructs a series object which is a child of \a parent. */ QScatterSeries::QScatterSeries(QObject *parent) : QXYSeries(parent), m_shape(QScatterSeries::MarkerShapeDefault), m_size(9.0) { } /*! Destroys the object. Note that adding series to QChart transfers the ownership to the chart. */ QScatterSeries::~QScatterSeries() { } /*! Stream operator for adding a data point with \a value to the series. \sa add() For example: \snippet ../example/scatter/main.cpp 2 */ /*! Stream operator for adding a list of points to the series. \sa add() */ /*! Replaces the data of the series with the given list of data \a points. */ /*! Returns the current list of data points of the series. */ /*! Replaces the point at \a index with \a newPoint. Returns true if \a index is a valid position in the series data, false otherwise. */ /*! Remove the data point at \a index. Returns true if a point was removed, false if the point at \a index does not exist on the series. */ /*! Remove all occurrences of \a point from the series and returns the number of points removed. */ /*! Remove all data points from the series. */ /*! Returns the index of the data point that is closest to \a coordinate. If several data points are at the same distance from the \a coordinate, returns the last one. If no points exist, returns -1. int QScatterSeries::closestPoint(QPointF coordinate) { qreal distance(-1); int pointIndex(-1); for (int i(0); i < d->m_data.count(); i++) { QPointF dataPoint = d->m_data.at(i); QPointF difference = dataPoint - coordinate; if (i == 0 || difference.manhattanLength() <= distance) { distance = difference.manhattanLength(); pointIndex = i; } } return pointIndex; } */ /*! Returns the pen used for drawing markers. */ /*! Overrides the default pen used for drawing a marker item with a user defined \a pen. The default pen is defined by chart theme setting. \sa setBrush() \sa QChart::setChartTheme() */ /*! Returns the brush used for drawing markers. */ /*! Overrides the default brush of the marker items with a user defined \a brush. The default brush is defined by chart theme setting. \sa setPen() \sa QChart::setChartTheme() */ /*! Returns the shape used for drawing markers. */ QScatterSeries::MarkerShape QScatterSeries::shape() const { return (QScatterSeries::MarkerShape) m_shape; } /*! Overrides the default shape of the marker items with a user defined \a shape. The default shape is defined by chart theme setting. */ void QScatterSeries::setShape(MarkerShape shape) { m_shape = shape; emit updated(); } /*! Returns the size of the marker items. */ qreal QScatterSeries::size() const { return m_size; } /*! Set the \a size of the marker items. The default size is 9.0. */ void QScatterSeries::setSize(qreal size) { m_size = size; emit updated(); } #include "moc_qscatterseries.cpp" QTCOMMERCIALCHART_END_NAMESPACE