36 #include <QMouseEvent> 39 #include <QPaintEvent> 49 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) 52 #include <QPrintEngine> 56 #include <QtPrintSupport/QtPrintSupport> 82 #if defined(QCUSTOMPLOT_COMPILE_LIBRARY) 83 #define QCP_LIB_DECL Q_DECL_EXPORT 84 #elif defined(QCUSTOMPLOT_USE_LIBRARY) 85 #define QCP_LIB_DECL Q_DECL_IMPORT 235 return qIsNaN(value) || qIsInf(value);
256 margins.setLeft(value);
259 margins.setRight(value);
262 margins.setTop(value);
265 margins.setBottom(value);
268 margins = QMargins(value, value, value, value);
285 return margins.left();
287 return margins.right();
289 return margins.top();
291 return margins.bottom();
300 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::AntialiasedElements)
301 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::PlottingHints)
302 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::MarginSides)
303 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::Interactions)
316 Q_ENUMS(ScatterShape)
375 const QBrush &brush = Qt::NoBrush,
double size = 6);
378 double size()
const {
return mSize; }
380 QPen
pen()
const {
return mPen; }
381 QBrush
brush()
const {
return mBrush; }
382 QPixmap
pixmap()
const {
return mPixmap; }
386 void setSize(
double size);
388 void setPen(
const QPen &pen);
389 void setBrush(
const QBrush &brush);
390 void setPixmap(
const QPixmap &pixmap);
391 void setCustomPath(
const QPainterPath &customPath);
394 bool isNone()
const {
return mShape == ssNone; }
396 void applyTo(
QCPPainter *painter,
const QPen &defaultPen)
const;
397 void drawShape(
QCPPainter *painter, QPointF pos)
const;
398 void drawShape(
QCPPainter *painter,
double x,
double y)
const;
407 QPainterPath mCustomPath;
443 QCPPainter(QPaintDevice *device);
447 bool antialiasing()
const {
return testRenderHint(QPainter::Antialiasing); }
448 PainterModes
modes()
const {
return mModes; }
451 void setAntialiasing(
bool enabled);
452 void setMode(
PainterMode mode,
bool enabled =
true);
453 void setModes(PainterModes modes);
456 bool begin(QPaintDevice *device);
457 void setPen(
const QPen &pen);
458 void setPen(
const QColor &color);
459 void setPen(Qt::PenStyle penStyle);
460 void drawLine(
const QLineF &line);
461 void drawLine(
const QPointF &p1,
const QPointF &p2) {
462 drawLine(QLineF(p1, p2));
468 void makeNonCosmetic();
473 bool mIsAntialiasing;
476 QStack<bool> mAntialiasingStack;
478 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPPainter::PainterModes)
483 Q_PROPERTY(
QCustomPlot *parentPlot READ parentPlot)
484 Q_PROPERTY(QString name READ name)
485 Q_PROPERTY(
int index READ index)
486 Q_PROPERTY(QList<QCPLayerable *> children READ children)
487 Q_PROPERTY(
bool visible READ visible WRITE setVisible)
490 QCPLayer(
QCustomPlot *parentPlot,
const QString &layerName);
495 QString
name()
const {
return mName; }
496 int index()
const {
return mIndex; }
497 QList<QCPLayerable *>
children()
const {
return mChildren; }
501 void setVisible(
bool visible);
508 QList<QCPLayerable *> mChildren;
516 Q_DISABLE_COPY(QCPLayer)
525 Q_PROPERTY(
bool visible READ visible WRITE setVisible)
526 Q_PROPERTY(
QCustomPlot *parentPlot READ parentPlot)
527 Q_PROPERTY(QCPLayerable *parentLayerable READ parentLayerable)
528 Q_PROPERTY(QCPLayer *layer READ layer WRITE setLayer NOTIFY layerChanged)
529 Q_PROPERTY(
bool antialiased READ antialiased WRITE setAntialiased)
532 QCPLayerable(
QCustomPlot *plot, QString targetLayer = QString(),
533 QCPLayerable *parentLayerable = 0);
540 QCPLayer *
layer()
const {
return mLayer; }
544 void setVisible(
bool on);
545 Q_SLOT
bool setLayer(QCPLayer *layer);
546 bool setLayer(
const QString &layerName);
547 void setAntialiased(
bool enabled);
550 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
551 QVariant *details = 0)
const;
554 bool realVisibility()
const;
557 void layerChanged(QCPLayer *newLayer);
563 QPointer<QCPLayerable> mParentLayerable;
568 virtual void parentPlotInitialized(
QCustomPlot *parentPlot);
570 virtual QRect clipRect()
const;
571 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const = 0;
572 virtual void draw(QCPPainter *painter) = 0;
574 virtual void selectEvent(QMouseEvent *event,
bool additive,
575 const QVariant &details,
576 bool *selectionStateChanged);
577 virtual void deselectEvent(
bool *selectionStateChanged);
580 void initializeParentPlot(
QCustomPlot *parentPlot);
581 void setParentLayerable(QCPLayerable *parentLayerable);
582 bool moveToLayer(QCPLayer *layer,
bool prepend);
583 void applyAntialiasingHint(QCPPainter *painter,
bool localAntialiased,
587 Q_DISABLE_COPY(QCPLayerable)
598 QCPRange(
double lower,
double upper);
601 return lower == other.
lower && upper == other.
upper;
603 bool operator!=(
const QCPRange &other)
const {
return !(*
this == other); }
625 friend inline const QCPRange
operator+(
const QCPRange &,
double);
626 friend inline const QCPRange
operator+(
double,
const QCPRange &);
627 friend inline const QCPRange
operator-(
const QCPRange &range,
double value);
628 friend inline const QCPRange
operator*(
const QCPRange &range,
double value);
629 friend inline const QCPRange
operator*(
double value,
const QCPRange &range);
630 friend inline const QCPRange
operator/(
const QCPRange &range,
double value);
633 double center()
const;
635 void expand(
const QCPRange &otherRange);
636 QCPRange expanded(
const QCPRange &otherRange)
const;
637 QCPRange sanitizedForLogScale()
const;
638 QCPRange sanitizedForLinScale()
const;
639 bool contains(
double value)
const;
641 static bool validRange(
double lower,
double upper);
642 static bool validRange(
const QCPRange &range);
643 static const double minRange;
644 static const double maxRange;
675 inline const QCPRange
operator+(
const QCPRange &range,
double value) {
676 QCPRange result(range);
684 inline const QCPRange
operator+(
double value,
const QCPRange &range) {
685 QCPRange result(range);
693 inline const QCPRange
operator-(
const QCPRange &range,
double value) {
694 QCPRange result(range);
702 inline const QCPRange
operator*(
const QCPRange &range,
double value) {
703 QCPRange result(range);
711 inline const QCPRange
operator*(
double value,
const QCPRange &range) {
712 QCPRange result(range);
720 inline const QCPRange
operator/(
const QCPRange &range,
double value) {
721 QCPRange result(range);
734 return mChildren.value(side);
736 bool isEmpty()
const;
742 QHash<QCP::MarginSide, QList<QCPLayoutElement *> > mChildren;
750 Q_DISABLE_COPY(QCPMarginGroup)
755 class QCP_LIB_DECL QCPLayoutElement :
public QCPLayerable {
758 Q_PROPERTY(
QCPLayout *layout READ layout)
759 Q_PROPERTY(QRect rect READ rect)
760 Q_PROPERTY(QRect outerRect READ outerRect WRITE setOuterRect)
761 Q_PROPERTY(QMargins margins READ margins WRITE setMargins)
763 QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins)
764 Q_PROPERTY(QSize minimumSize READ minimumSize WRITE setMinimumSize)
765 Q_PROPERTY(QSize maximumSize READ maximumSize WRITE setMaximumSize)
783 explicit QCPLayoutElement(
QCustomPlot *parentPlot = 0);
784 virtual ~QCPLayoutElement();
788 QRect
rect()
const {
return mRect; }
796 return mMarginGroups.value(side, (QCPMarginGroup *)0);
799 return mMarginGroups;
803 void setOuterRect(
const QRect &rect);
804 void setMargins(
const QMargins &margins);
805 void setMinimumMargins(
const QMargins &margins);
806 void setAutoMargins(QCP::MarginSides sides);
807 void setMinimumSize(
const QSize &size);
808 void setMinimumSize(
int width,
int height);
809 void setMaximumSize(
const QSize &size);
810 void setMaximumSize(
int width,
int height);
811 void setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group);
815 virtual QSize minimumSizeHint()
const;
816 virtual QSize maximumSizeHint()
const;
817 virtual QList<QCPLayoutElement *> elements(
bool recursive)
const;
820 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
821 QVariant *details = 0)
const;
826 QSize mMinimumSize, mMaximumSize;
827 QRect mRect, mOuterRect;
828 QMargins mMargins, mMinimumMargins;
829 QCP::MarginSides mAutoMargins;
830 QHash<QCP::MarginSide, QCPMarginGroup *> mMarginGroups;
839 virtual void wheelEvent(QWheelEvent *event) { Q_UNUSED(event) }
845 virtual void draw(QCPPainter *painter) { Q_UNUSED(painter) }
846 virtual void parentPlotInitialized(
QCustomPlot *parentPlot);
849 Q_DISABLE_COPY(QCPLayoutElement)
853 friend class QCPMarginGroup;
856 class QCP_LIB_DECL QCPLayout :
public QCPLayoutElement {
859 explicit QCPLayout();
863 virtual QList<QCPLayoutElement *> elements(
bool recursive)
const;
866 virtual int elementCount()
const = 0;
867 virtual QCPLayoutElement *elementAt(
int index)
const = 0;
868 virtual QCPLayoutElement *takeAt(
int index) = 0;
869 virtual bool take(QCPLayoutElement *element) = 0;
870 virtual void simplify();
873 bool removeAt(
int index);
874 bool remove(QCPLayoutElement *element);
879 virtual void updateLayout();
882 void sizeConstraintsChanged()
const;
883 void adoptElement(QCPLayoutElement *el);
884 void releaseElement(QCPLayoutElement *el);
885 QVector<int> getSectionSizes(QVector<int> maxSizes, QVector<int> minSizes,
886 QVector<double> stretchFactors,
887 int totalSize)
const;
890 Q_DISABLE_COPY(QCPLayout)
891 friend class QCPLayoutElement;
897 Q_PROPERTY(
int rowCount READ rowCount)
898 Q_PROPERTY(
int columnCount READ columnCount)
899 Q_PROPERTY(QList<double> columnStretchFactors READ columnStretchFactors WRITE
900 setColumnStretchFactors)
901 Q_PROPERTY(QList<double> rowStretchFactors READ rowStretchFactors WRITE
902 setRowStretchFactors)
903 Q_PROPERTY(
int columnSpacing READ columnSpacing WRITE setColumnSpacing)
904 Q_PROPERTY(
int rowSpacing READ rowSpacing WRITE setRowSpacing)
907 explicit QCPLayoutGrid();
908 virtual ~QCPLayoutGrid();
911 int rowCount()
const;
912 int columnCount()
const;
919 void setColumnStretchFactor(
int column,
double factor);
920 void setColumnStretchFactors(
const QList<double> &factors);
921 void setRowStretchFactor(
int row,
double factor);
922 void setRowStretchFactors(
const QList<double> &factors);
923 void setColumnSpacing(
int pixels);
924 void setRowSpacing(
int pixels);
927 virtual void updateLayout();
928 virtual int elementCount()
const;
929 virtual QCPLayoutElement *elementAt(
int index)
const;
930 virtual QCPLayoutElement *takeAt(
int index);
931 virtual bool take(QCPLayoutElement *element);
932 virtual QList<QCPLayoutElement *> elements(
bool recursive)
const;
933 virtual void simplify();
934 virtual QSize minimumSizeHint()
const;
935 virtual QSize maximumSizeHint()
const;
938 QCPLayoutElement *element(
int row,
int column)
const;
939 bool addElement(
int row,
int column, QCPLayoutElement *element);
940 bool hasElement(
int row,
int column);
941 void expandTo(
int newRowCount,
int newColumnCount);
942 void insertRow(
int newIndex);
943 void insertColumn(
int newIndex);
947 QList<QList<QCPLayoutElement *> > mElements;
948 QList<double> mColumnStretchFactors;
949 QList<double> mRowStretchFactors;
950 int mColumnSpacing, mRowSpacing;
953 void getMinimumRowColSizes(QVector<int> *minColWidths,
954 QVector<int> *minRowHeights)
const;
955 void getMaximumRowColSizes(QVector<int> *maxColWidths,
956 QVector<int> *maxRowHeights)
const;
959 Q_DISABLE_COPY(QCPLayoutGrid)
977 explicit QCPLayoutInset();
978 virtual ~QCPLayoutInset();
982 Qt::Alignment insetAlignment(
int index)
const;
983 QRectF insetRect(
int index)
const;
987 void setInsetAlignment(
int index, Qt::Alignment alignment);
988 void setInsetRect(
int index,
const QRectF &rect);
991 virtual void updateLayout();
992 virtual int elementCount()
const;
993 virtual QCPLayoutElement *elementAt(
int index)
const;
994 virtual QCPLayoutElement *takeAt(
int index);
995 virtual bool take(QCPLayoutElement *element);
997 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
998 QVariant *details = 0)
const;
1001 void addElement(QCPLayoutElement *element, Qt::Alignment alignment);
1002 void addElement(QCPLayoutElement *element,
const QRectF &rect);
1006 QList<QCPLayoutElement *> mElements;
1007 QList<InsetPlacement> mInsetPlacement;
1008 QList<Qt::Alignment> mInsetAlignment;
1009 QList<QRectF> mInsetRect;
1012 Q_DISABLE_COPY(QCPLayoutInset)
1031 Q_ENUMS(EndingStyle)
1057 QCPLineEnding(
EndingStyle style,
double width = 8,
double length = 10,
1058 bool inverted =
false);
1068 void setWidth(
double width);
1069 void setLength(
double length);
1070 void setInverted(
bool inverted);
1073 double boundingDistance()
const;
1074 double realLength()
const;
1075 void draw(QCPPainter *painter,
const QVector2D &pos,
1076 const QVector2D &dir)
const;
1077 void draw(QCPPainter *painter,
const QVector2D &pos,
double angle)
const;
1082 double mWidth, mLength;
1090 Q_PROPERTY(
bool subGridVisible READ subGridVisible WRITE setSubGridVisible)
1091 Q_PROPERTY(
bool antialiasedSubGrid READ antialiasedSubGrid WRITE
1092 setAntialiasedSubGrid)
1093 Q_PROPERTY(
bool antialiasedZeroLine READ antialiasedZeroLine WRITE
1094 setAntialiasedZeroLine)
1095 Q_PROPERTY(QPen pen READ pen WRITE setPen)
1096 Q_PROPERTY(QPen subGridPen READ subGridPen WRITE setSubGridPen)
1097 Q_PROPERTY(QPen zeroLinePen READ zeroLinePen WRITE setZeroLinePen)
1106 QPen
pen()
const {
return mPen; }
1111 void setSubGridVisible(
bool visible);
1112 void setAntialiasedSubGrid(
bool enabled);
1113 void setAntialiasedZeroLine(
bool enabled);
1114 void setPen(
const QPen &pen);
1115 void setSubGridPen(
const QPen &pen);
1116 void setZeroLinePen(
const QPen &pen);
1120 bool mSubGridVisible;
1121 bool mAntialiasedSubGrid, mAntialiasedZeroLine;
1122 QPen mPen, mSubGridPen, mZeroLinePen;
1127 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
1128 virtual void draw(QCPPainter *painter);
1131 void drawGridLines(QCPPainter *painter)
const;
1132 void drawSubGridLines(QCPPainter *painter)
const;
1140 Q_PROPERTY(AxisType axisType READ axisType)
1142 Q_PROPERTY(ScaleType scaleType READ scaleType WRITE setScaleType NOTIFY
1144 Q_PROPERTY(
double scaleLogBase READ scaleLogBase WRITE setScaleLogBase)
1145 Q_PROPERTY(QCPRange range READ range WRITE setRange NOTIFY rangeChanged)
1146 Q_PROPERTY(
bool rangeReversed READ rangeReversed WRITE setRangeReversed)
1147 Q_PROPERTY(
bool autoTicks READ autoTicks WRITE setAutoTicks)
1148 Q_PROPERTY(
int autoTickCount READ autoTickCount WRITE setAutoTickCount)
1149 Q_PROPERTY(
bool autoTickLabels READ autoTickLabels WRITE setAutoTickLabels)
1150 Q_PROPERTY(
bool autoTickStep READ autoTickStep WRITE setAutoTickStep)
1151 Q_PROPERTY(
bool autoSubTicks READ autoSubTicks WRITE setAutoSubTicks)
1152 Q_PROPERTY(
bool ticks READ ticks WRITE setTicks)
1153 Q_PROPERTY(
bool tickLabels READ tickLabels WRITE setTickLabels)
1155 int tickLabelPadding READ tickLabelPadding WRITE setTickLabelPadding)
1156 Q_PROPERTY(LabelType tickLabelType READ tickLabelType WRITE setTickLabelType)
1157 Q_PROPERTY(QFont tickLabelFont READ tickLabelFont WRITE setTickLabelFont)
1158 Q_PROPERTY(QColor tickLabelColor READ tickLabelColor WRITE setTickLabelColor)
1159 Q_PROPERTY(
double tickLabelRotation READ tickLabelRotation WRITE
1160 setTickLabelRotation)
1161 Q_PROPERTY(LabelSide tickLabelSide READ tickLabelSide WRITE setTickLabelSide)
1162 Q_PROPERTY(QString dateTimeFormat READ dateTimeFormat WRITE setDateTimeFormat)
1163 Q_PROPERTY(Qt::TimeSpec dateTimeSpec READ dateTimeSpec WRITE setDateTimeSpec)
1164 Q_PROPERTY(QString numberFormat READ numberFormat WRITE setNumberFormat)
1165 Q_PROPERTY(
int numberPrecision READ numberPrecision WRITE setNumberPrecision)
1166 Q_PROPERTY(
double tickStep READ tickStep WRITE setTickStep)
1167 Q_PROPERTY(QVector<double> tickVector READ tickVector WRITE setTickVector)
1168 Q_PROPERTY(QVector<QString> tickVectorLabels READ tickVectorLabels WRITE
1169 setTickVectorLabels)
1170 Q_PROPERTY(
int tickLengthIn READ tickLengthIn WRITE setTickLengthIn)
1171 Q_PROPERTY(
int tickLengthOut READ tickLengthOut WRITE setTickLengthOut)
1172 Q_PROPERTY(
int subTickCount READ subTickCount WRITE setSubTickCount)
1173 Q_PROPERTY(
int subTickLengthIn READ subTickLengthIn WRITE setSubTickLengthIn)
1175 int subTickLengthOut READ subTickLengthOut WRITE setSubTickLengthOut)
1176 Q_PROPERTY(QPen basePen READ basePen WRITE setBasePen)
1177 Q_PROPERTY(QPen tickPen READ tickPen WRITE setTickPen)
1178 Q_PROPERTY(QPen subTickPen READ subTickPen WRITE setSubTickPen)
1179 Q_PROPERTY(QFont labelFont READ labelFont WRITE setLabelFont)
1180 Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor)
1181 Q_PROPERTY(QString label READ label WRITE setLabel)
1182 Q_PROPERTY(
int labelPadding READ labelPadding WRITE setLabelPadding)
1183 Q_PROPERTY(
int padding READ padding WRITE setPadding)
1184 Q_PROPERTY(
int offset READ offset WRITE setOffset)
1185 Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE
1186 setSelectedParts NOTIFY selectionChanged)
1187 Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE
1188 setSelectableParts NOTIFY selectableChanged)
1189 Q_PROPERTY(QFont selectedTickLabelFont READ selectedTickLabelFont WRITE
1190 setSelectedTickLabelFont)
1192 QFont selectedLabelFont READ selectedLabelFont WRITE setSelectedLabelFont)
1193 Q_PROPERTY(QColor selectedTickLabelColor READ selectedTickLabelColor WRITE
1194 setSelectedTickLabelColor)
1195 Q_PROPERTY(QColor selectedLabelColor READ selectedLabelColor WRITE
1196 setSelectedLabelColor)
1197 Q_PROPERTY(QPen selectedBasePen READ selectedBasePen WRITE setSelectedBasePen)
1198 Q_PROPERTY(QPen selectedTickPen READ selectedTickPen WRITE setSelectedTickPen)
1199 Q_PROPERTY(QPen selectedSubTickPen READ selectedSubTickPen WRITE
1200 setSelectedSubTickPen)
1201 Q_PROPERTY(QCPLineEnding lowerEnding READ lowerEnding WRITE setLowerEnding)
1202 Q_PROPERTY(QCPLineEnding upperEnding READ upperEnding WRITE setUpperEnding)
1203 Q_PROPERTY(QCPGrid *grid READ grid)
1225 Q_DECLARE_FLAGS(AxisTypes,
AxisType)
1276 spTickLabels = 0x002
1292 const QCPRange
range()
const {
return mRange; }
1301 int tickLabelPadding()
const;
1305 double tickLabelRotation()
const;
1309 QString numberFormat()
const;
1314 int tickLengthIn()
const;
1315 int tickLengthOut()
const;
1317 int subTickLengthIn()
const;
1318 int subTickLengthOut()
const;
1324 QString
label()
const {
return mLabel; }
1325 int labelPadding()
const;
1337 QCPLineEnding lowerEnding()
const;
1338 QCPLineEnding upperEnding()
const;
1339 QCPGrid *
grid()
const {
return mGrid; }
1343 void setScaleLogBase(
double base);
1344 Q_SLOT
void setRange(
const QCPRange &range);
1345 void setRange(
double lower,
double upper);
1346 void setRange(
double position,
double size, Qt::AlignmentFlag alignment);
1347 void setRangeLower(
double lower);
1348 void setRangeUpper(
double upper);
1349 void setRangeReversed(
bool reversed);
1350 void setAutoTicks(
bool on);
1351 void setAutoTickCount(
int approximateCount);
1352 void setAutoTickLabels(
bool on);
1353 void setAutoTickStep(
bool on);
1354 void setAutoSubTicks(
bool on);
1355 void setTicks(
bool show);
1356 void setTickLabels(
bool show);
1357 void setTickLabelPadding(
int padding);
1359 void setTickLabelFont(
const QFont &font);
1360 void setTickLabelColor(
const QColor &color);
1361 void setTickLabelRotation(
double degrees);
1363 void setDateTimeFormat(
const QString &format);
1364 void setDateTimeSpec(
const Qt::TimeSpec &timeSpec);
1365 void setNumberFormat(
const QString &formatCode);
1366 void setNumberPrecision(
int precision);
1367 void setTickStep(
double step);
1368 void setTickVector(
const QVector<double> &vec);
1369 void setTickVectorLabels(
const QVector<QString> &vec);
1370 void setTickLength(
int inside,
int outside = 0);
1371 void setTickLengthIn(
int inside);
1372 void setTickLengthOut(
int outside);
1373 void setSubTickCount(
int count);
1374 void setSubTickLength(
int inside,
int outside = 0);
1375 void setSubTickLengthIn(
int inside);
1376 void setSubTickLengthOut(
int outside);
1377 void setBasePen(
const QPen &pen);
1378 void setTickPen(
const QPen &pen);
1379 void setSubTickPen(
const QPen &pen);
1380 void setLabelFont(
const QFont &font);
1381 void setLabelColor(
const QColor &color);
1382 void setLabel(
const QString &str);
1383 void setLabelPadding(
int padding);
1384 void setPadding(
int padding);
1385 void setOffset(
int offset);
1386 void setSelectedTickLabelFont(
const QFont &font);
1387 void setSelectedLabelFont(
const QFont &font);
1388 void setSelectedTickLabelColor(
const QColor &color);
1389 void setSelectedLabelColor(
const QColor &color);
1390 void setSelectedBasePen(
const QPen &pen);
1391 void setSelectedTickPen(
const QPen &pen);
1392 void setSelectedSubTickPen(
const QPen &pen);
1393 Q_SLOT
void setSelectableParts(
1394 const QCPAxis::SelectableParts &selectableParts);
1395 Q_SLOT
void setSelectedParts(
const QCPAxis::SelectableParts &selectedParts);
1396 void setLowerEnding(
const QCPLineEnding &ending);
1397 void setUpperEnding(
const QCPLineEnding &ending);
1400 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
1401 QVariant *details = 0)
const;
1405 void moveRange(
double diff);
1406 void scaleRange(
double factor,
double center);
1407 void setScaleRatio(
const QCPAxis *otherAxis,
double ratio = 1.0);
1408 void rescale(
bool onlyVisiblePlottables =
false);
1409 double pixelToCoord(
double value)
const;
1410 double coordToPixel(
double value)
const;
1412 QList<QCPAbstractPlottable *> plottables()
const;
1413 QList<QCPGraph *> graphs()
const;
1414 QList<QCPAbstractItem *> items()
const;
1418 return type == atBottom || type == atTop ? Qt::Horizontal : Qt::Vertical;
1423 void ticksRequest();
1424 void rangeChanged(
const QCPRange &newRange);
1425 void rangeChanged(
const QCPRange &newRange,
const QCPRange &oldRange);
1427 void selectionChanged(
const QCPAxis::SelectableParts &parts);
1428 void selectableChanged(
const QCPAxis::SelectableParts &parts);
1437 Qt::Orientation mOrientation;
1438 SelectableParts mSelectableParts, mSelectedParts;
1439 QPen mBasePen, mSelectedBasePen;
1444 QFont mLabelFont, mSelectedLabelFont;
1445 QColor mLabelColor, mSelectedLabelColor;
1448 bool mTickLabels, mAutoTickLabels;
1451 QFont mTickLabelFont, mSelectedTickLabelFont;
1452 QColor mTickLabelColor, mSelectedTickLabelColor;
1453 QString mDateTimeFormat;
1454 Qt::TimeSpec mDateTimeSpec;
1455 int mNumberPrecision;
1456 QLatin1Char mNumberFormatChar;
1457 bool mNumberBeautifulPowers;
1462 int mSubTickCount, mAutoTickCount;
1463 bool mAutoTicks, mAutoTickStep, mAutoSubTicks;
1466 QPen mTickPen, mSelectedTickPen;
1467 QPen mSubTickPen, mSelectedSubTickPen;
1470 bool mRangeReversed;
1472 double mScaleLogBase, mScaleLogBaseLogInv;
1477 int mLowestVisibleTick, mHighestVisibleTick;
1478 QVector<double> mTickVector;
1479 QVector<QString> mTickVectorLabels;
1480 QVector<double> mSubTickVector;
1481 bool mCachedMarginValid;
1485 virtual void setupTickVectors();
1486 virtual void generateAutoTicks();
1487 virtual int calculateAutoSubTickCount(
double tickStep)
const;
1488 virtual int calculateMargin();
1491 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
1492 virtual void draw(QCPPainter *painter);
1495 virtual void selectEvent(QMouseEvent *event,
bool additive,
1496 const QVariant &details,
1497 bool *selectionStateChanged);
1498 virtual void deselectEvent(
bool *selectionStateChanged);
1501 void visibleTickBounds(
int &lowIndex,
int &highIndex)
const;
1502 double baseLog(
double value)
const;
1503 double basePow(
double value)
const;
1504 QPen getBasePen()
const;
1505 QPen getTickPen()
const;
1506 QPen getSubTickPen()
const;
1507 QFont getTickLabelFont()
const;
1508 QFont getLabelFont()
const;
1509 QColor getTickLabelColor()
const;
1510 QColor getLabelColor()
const;
1513 Q_DISABLE_COPY(QCPAxis)
1516 friend class QCPGrid;
1519 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::SelectableParts)
1520 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::AxisTypes)
1528 virtual void draw(QCPPainter *painter);
1529 virtual int size()
const;
1539 QCPLineEnding lowerEnding,
1545 int tickLabelPadding;
1546 double tickLabelRotation;
1549 bool substituteExponent;
1550 bool numberMultiplyCross;
1551 int tickLengthIn, tickLengthOut, subTickLengthIn,
1553 QPen tickPen, subTickPen;
1554 QFont tickLabelFont;
1555 QColor tickLabelColor;
1556 QRect axisRect, viewportRect;
1558 bool abbreviateDecimalPowers;
1559 bool reversedEndings;
1561 QVector<double> subTickPositions;
1562 QVector<double> tickPositions;
1563 QVector<QString> tickLabels;
1571 QString basePart, expPart;
1572 QRect baseBounds, expBounds, totalBounds, rotatedTotalBounds;
1573 QFont baseFont, expFont;
1576 QByteArray mLabelParameterHash;
1578 QCache<QString, CachedLabel> mLabelCache;
1579 QRect mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox;
1581 virtual QByteArray generateLabelParameterHash()
const;
1583 virtual void placeTickLabel(QCPPainter *painter,
double position,
1584 int distanceToAxis,
const QString &text,
1585 QSize *tickLabelsSize);
1586 virtual void drawTickLabel(QCPPainter *painter,
double x,
double y,
1589 const QString &text)
const;
1590 virtual QPointF getTickLabelDrawOffset(
const TickLabelData &labelData)
const;
1591 virtual void getMaxTickLabelSize(
const QFont &font,
const QString &text,
1592 QSize *tickLabelsSize)
const;
1595 class QCP_LIB_DECL QCPAbstractPlottable :
public QCPLayerable {
1598 Q_PROPERTY(QString name READ name WRITE setName)
1599 Q_PROPERTY(
bool antialiasedFill READ antialiasedFill WRITE setAntialiasedFill)
1600 Q_PROPERTY(
bool antialiasedScatters READ antialiasedScatters WRITE
1601 setAntialiasedScatters)
1602 Q_PROPERTY(
bool antialiasedErrorBars READ antialiasedErrorBars WRITE
1603 setAntialiasedErrorBars)
1604 Q_PROPERTY(QPen pen READ pen WRITE setPen)
1605 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
1606 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
1607 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
1608 Q_PROPERTY(QCPAxis *keyAxis READ keyAxis WRITE setKeyAxis)
1609 Q_PROPERTY(QCPAxis *valueAxis READ valueAxis WRITE setValueAxis)
1610 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
1613 bool selected READ selected WRITE setSelected NOTIFY selectionChanged)
1616 QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis);
1619 QString
name()
const {
return mName; }
1623 QPen
pen()
const {
return mPen; }
1627 QCPAxis *
keyAxis()
const {
return mKeyAxis.data(); }
1633 void setName(
const QString &name);
1634 void setAntialiasedFill(
bool enabled);
1635 void setAntialiasedScatters(
bool enabled);
1636 void setAntialiasedErrorBars(
bool enabled);
1637 void setPen(
const QPen &pen);
1638 void setSelectedPen(
const QPen &pen);
1639 void setBrush(
const QBrush &brush);
1640 void setSelectedBrush(
const QBrush &brush);
1641 void setKeyAxis(QCPAxis *axis);
1642 void setValueAxis(QCPAxis *axis);
1643 Q_SLOT
void setSelectable(
bool selectable);
1644 Q_SLOT
void setSelected(
bool selected);
1647 virtual void clearData() = 0;
1648 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
1649 QVariant *details = 0)
const = 0;
1650 virtual bool addToLegend();
1651 virtual bool removeFromLegend()
const;
1654 void rescaleAxes(
bool onlyEnlarge =
false)
const;
1655 void rescaleKeyAxis(
bool onlyEnlarge =
false)
const;
1656 void rescaleValueAxis(
bool onlyEnlarge =
false)
const;
1659 void selectionChanged(
bool selected);
1660 void selectableChanged(
bool selectable);
1677 bool mAntialiasedFill, mAntialiasedScatters, mAntialiasedErrorBars;
1678 QPen mPen, mSelectedPen;
1679 QBrush mBrush, mSelectedBrush;
1680 QPointer<QCPAxis> mKeyAxis, mValueAxis;
1681 bool mSelectable, mSelected;
1684 virtual QRect clipRect()
const;
1685 virtual void draw(QCPPainter *painter) = 0;
1687 void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
1689 virtual void selectEvent(QMouseEvent *event,
bool additive,
1690 const QVariant &details,
1691 bool *selectionStateChanged);
1692 virtual void deselectEvent(
bool *selectionStateChanged);
1695 virtual void drawLegendIcon(QCPPainter *painter,
1696 const QRectF &rect)
const = 0;
1697 virtual QCPRange getKeyRange(
bool &foundRange,
1699 virtual QCPRange getValueRange(
bool &foundRange,
1703 void coordsToPixels(
double key,
double value,
double &x,
double &y)
const;
1704 const QPointF coordsToPixels(
double key,
double value)
const;
1705 void pixelsToCoords(
double x,
double y,
double &key,
double &value)
const;
1706 void pixelsToCoords(
const QPointF &pixelPos,
double &key,
1707 double &value)
const;
1708 QPen mainPen()
const;
1709 QBrush mainBrush()
const;
1710 void applyFillAntialiasingHint(QCPPainter *painter)
const;
1711 void applyScattersAntialiasingHint(QCPPainter *painter)
const;
1712 void applyErrorBarsAntialiasingHint(QCPPainter *painter)
const;
1713 double distSqrToLine(
const QPointF &start,
const QPointF &end,
1714 const QPointF &point)
const;
1717 Q_DISABLE_COPY(QCPAbstractPlottable)
1720 friend class QCPAxis;
1727 const QString name,
int anchorId = -1);
1728 virtual ~QCPItemAnchor();
1731 QString
name()
const {
return mName; }
1732 virtual QPointF pixelPoint()
const;
1742 QSet<QCPItemPosition *> mChildrenX, mChildrenY;
1758 Q_DISABLE_COPY(QCPItemAnchor)
1763 class QCP_LIB_DECL QCPItemPosition :
public QCPItemAnchor {
1798 const QString name);
1799 virtual ~QCPItemPosition();
1808 double key()
const {
return mKey; }
1810 QPointF
coords()
const {
return QPointF(mKey, mValue); }
1811 QCPAxis *
keyAxis()
const {
return mKeyAxis.data(); }
1814 virtual QPointF pixelPoint()
const;
1820 bool setParentAnchor(QCPItemAnchor *parentAnchor,
1821 bool keepPixelPosition =
false);
1822 bool setParentAnchorX(QCPItemAnchor *parentAnchor,
1823 bool keepPixelPosition =
false);
1824 bool setParentAnchorY(QCPItemAnchor *parentAnchor,
1825 bool keepPixelPosition =
false);
1826 void setCoords(
double key,
double value);
1827 void setCoords(
const QPointF &coords);
1828 void setAxes(QCPAxis *keyAxis, QCPAxis *valueAxis);
1830 void setPixelPoint(
const QPointF &pixelPoint);
1835 QPointer<QCPAxis> mKeyAxis, mValueAxis;
1836 QPointer<QCPAxisRect> mAxisRect;
1837 double mKey, mValue;
1838 QCPItemAnchor *mParentAnchorX, *mParentAnchorY;
1844 Q_DISABLE_COPY(QCPItemPosition)
1847 class QCP_LIB_DECL QCPAbstractItem :
public QCPLayerable {
1850 Q_PROPERTY(
bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect)
1851 Q_PROPERTY(
QCPAxisRect *clipAxisRect READ clipAxisRect WRITE setClipAxisRect)
1852 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
1855 bool selected READ selected WRITE setSelected NOTIFY selectionChanged)
1859 virtual ~QCPAbstractItem();
1868 void setClipToAxisRect(
bool clip);
1870 Q_SLOT
void setSelectable(
bool selectable);
1871 Q_SLOT
void setSelected(
bool selected);
1874 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
1875 QVariant *details = 0)
const = 0;
1878 QList<QCPItemPosition *>
positions()
const {
return mPositions; }
1879 QList<QCPItemAnchor *>
anchors()
const {
return mAnchors; }
1880 QCPItemPosition *position(
const QString &name)
const;
1881 QCPItemAnchor *anchor(
const QString &name)
const;
1882 bool hasAnchor(
const QString &name)
const;
1885 void selectionChanged(
bool selected);
1886 void selectableChanged(
bool selectable);
1890 bool mClipToAxisRect;
1891 QPointer<QCPAxisRect> mClipAxisRect;
1892 QList<QCPItemPosition *> mPositions;
1893 QList<QCPItemAnchor *> mAnchors;
1894 bool mSelectable, mSelected;
1898 virtual QRect clipRect()
const;
1899 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
1900 virtual void draw(QCPPainter *painter) = 0;
1902 virtual void selectEvent(QMouseEvent *event,
bool additive,
1903 const QVariant &details,
1904 bool *selectionStateChanged);
1905 virtual void deselectEvent(
bool *selectionStateChanged);
1908 virtual QPointF anchorPixelPoint(
int anchorId)
const;
1911 double distSqrToLine(
const QPointF &start,
const QPointF &end,
1912 const QPointF &point)
const;
1913 double rectSelectTest(
const QRectF &rect,
const QPointF &pos,
1914 bool filledRect)
const;
1915 QCPItemPosition *createPosition(
const QString &name);
1916 QCPItemAnchor *createAnchor(
const QString &name,
int anchorId);
1919 Q_DISABLE_COPY(QCPAbstractItem)
1922 friend class QCPItemAnchor;
1928 Q_PROPERTY(QRect viewport READ viewport WRITE setViewport)
1929 Q_PROPERTY(QPixmap background READ background WRITE setBackground)
1931 bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled)
1932 Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode
1933 WRITE setBackgroundScaledMode)
1934 Q_PROPERTY(QCPLayoutGrid *plotLayout READ plotLayout)
1935 Q_PROPERTY(
bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE
1936 setAutoAddPlottableToLegend)
1937 Q_PROPERTY(
int selectionTolerance READ selectionTolerance WRITE
1938 setSelectionTolerance)
1939 Q_PROPERTY(
bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE
1940 setNoAntialiasingOnDrag)
1941 Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier
1942 WRITE setMultiSelectModifier)
1976 explicit QCustomPlot(QWidget *parent = 0);
1977 virtual ~QCustomPlot();
1984 return mBackgroundScaledMode;
1988 return mAntialiasedElements;
1991 return mNotAntialiasedElements;
1999 return mMultiSelectModifier;
2003 void setViewport(
const QRect &rect);
2004 void setBackground(
const QPixmap &pm);
2005 void setBackground(
const QPixmap &pm,
bool scaled,
2006 Qt::AspectRatioMode mode = Qt::KeepAspectRatioByExpanding);
2007 void setBackground(
const QBrush &brush);
2008 void setBackgroundScaled(
bool scaled);
2009 void setBackgroundScaledMode(Qt::AspectRatioMode mode);
2010 void setAntialiasedElements(
2011 const QCP::AntialiasedElements &antialiasedElements);
2013 bool enabled =
true);
2014 void setNotAntialiasedElements(
2015 const QCP::AntialiasedElements ¬AntialiasedElements);
2017 bool enabled =
true);
2018 void setAutoAddPlottableToLegend(
bool on);
2019 void setInteractions(
const QCP::Interactions &interactions);
2020 void setInteraction(
const QCP::Interaction &interaction,
bool enabled =
true);
2021 void setSelectionTolerance(
int pixels);
2022 void setNoAntialiasingOnDrag(
bool enabled);
2023 void setPlottingHints(
const QCP::PlottingHints &hints);
2025 void setMultiSelectModifier(Qt::KeyboardModifier modifier);
2029 QCPAbstractPlottable *plottable(
int index);
2030 QCPAbstractPlottable *plottable();
2031 bool addPlottable(QCPAbstractPlottable *plottable);
2032 bool removePlottable(QCPAbstractPlottable *plottable);
2033 bool removePlottable(
int index);
2034 int clearPlottables();
2035 int plottableCount()
const;
2036 QList<QCPAbstractPlottable *> selectedPlottables()
const;
2037 QCPAbstractPlottable *plottableAt(
const QPointF &pos,
2038 bool onlySelectable =
false)
const;
2039 bool hasPlottable(QCPAbstractPlottable *plottable)
const;
2044 QCPGraph *addGraph(QCPAxis *keyAxis = 0, QCPAxis *valueAxis = 0);
2046 bool removeGraph(
int index);
2048 int graphCount()
const;
2049 QList<QCPGraph *> selectedGraphs()
const;
2052 QCPAbstractItem *item(
int index)
const;
2053 QCPAbstractItem *item()
const;
2054 bool addItem(QCPAbstractItem *item);
2055 bool removeItem(QCPAbstractItem *item);
2056 bool removeItem(
int index);
2058 int itemCount()
const;
2059 QList<QCPAbstractItem *> selectedItems()
const;
2060 QCPAbstractItem *itemAt(
const QPointF &pos,
2061 bool onlySelectable =
false)
const;
2062 bool hasItem(QCPAbstractItem *item)
const;
2065 QCPLayer *layer(
const QString &name)
const;
2066 QCPLayer *layer(
int index)
const;
2067 QCPLayer *currentLayer()
const;
2068 bool setCurrentLayer(
const QString &name);
2069 bool setCurrentLayer(QCPLayer *layer);
2070 int layerCount()
const;
2071 bool addLayer(
const QString &name, QCPLayer *otherLayer = 0,
2073 bool removeLayer(QCPLayer *layer);
2074 bool moveLayer(QCPLayer *layer, QCPLayer *otherLayer,
2078 int axisRectCount()
const;
2080 QList<QCPAxisRect *> axisRects()
const;
2081 QCPLayoutElement *layoutElementAt(
const QPointF &pos)
const;
2082 Q_SLOT
void rescaleAxes(
bool onlyVisiblePlottables =
false);
2084 QList<QCPAxis *> selectedAxes()
const;
2085 QList<QCPLegend *> selectedLegends()
const;
2086 Q_SLOT
void deselectAll();
2088 bool savePdf(
const QString &fileName,
bool noCosmeticPen =
false,
2089 int width = 0,
int height = 0,
2090 const QString &pdfCreator = QString(),
2091 const QString &pdfTitle = QString());
2092 bool savePng(
const QString &fileName,
int width = 0,
int height = 0,
2093 double scale = 1.0,
int quality = -1);
2094 bool saveJpg(
const QString &fileName,
int width = 0,
int height = 0,
2095 double scale = 1.0,
int quality = -1);
2096 bool saveBmp(
const QString &fileName,
int width = 0,
int height = 0,
2097 double scale = 1.0);
2098 bool saveRastered(
const QString &fileName,
int width,
int height,
2099 double scale,
const char *format,
int quality = -1);
2100 QPixmap toPixmap(
int width = 0,
int height = 0,
double scale = 1.0);
2101 void toPainter(QCPPainter *painter,
int width = 0,
int height = 0);
2105 QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2;
2109 void mouseDoubleClick(QMouseEvent *event);
2110 void mousePress(QMouseEvent *event);
2111 void mouseMove(QMouseEvent *event);
2112 void mouseRelease(QMouseEvent *event);
2113 void mouseWheel(QWheelEvent *event);
2115 void plottableClick(QCPAbstractPlottable *plottable, QMouseEvent *event);
2116 void plottableDoubleClick(QCPAbstractPlottable *plottable,
2117 QMouseEvent *event);
2118 void itemClick(QCPAbstractItem *item, QMouseEvent *event);
2119 void itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event);
2121 QMouseEvent *event);
2123 QMouseEvent *event);
2125 QMouseEvent *event);
2127 QMouseEvent *event);
2128 void titleClick(QMouseEvent *event,
QCPPlotTitle *title);
2129 void titleDoubleClick(QMouseEvent *event,
QCPPlotTitle *title);
2131 void selectionChangedByUser();
2132 void beforeReplot();
2138 QCPLayoutGrid *mPlotLayout;
2139 bool mAutoAddPlottableToLegend;
2140 QList<QCPAbstractPlottable *> mPlottables;
2141 QList<QCPGraph *> mGraphs;
2143 QList<QCPAbstractItem *> mItems;
2144 QList<QCPLayer *> mLayers;
2145 QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements;
2146 QCP::Interactions mInteractions;
2147 int mSelectionTolerance;
2148 bool mNoAntialiasingOnDrag;
2149 QBrush mBackgroundBrush;
2150 QPixmap mBackgroundPixmap;
2151 QPixmap mScaledBackgroundPixmap;
2152 bool mBackgroundScaled;
2153 Qt::AspectRatioMode mBackgroundScaledMode;
2154 QCPLayer *mCurrentLayer;
2155 QCP::PlottingHints mPlottingHints;
2156 Qt::KeyboardModifier mMultiSelectModifier;
2159 QPixmap mPaintBuffer;
2160 QPoint mMousePressPos;
2161 QPointer<QCPLayoutElement> mMouseEventElement;
2165 virtual QSize minimumSizeHint()
const;
2166 virtual QSize sizeHint()
const;
2167 virtual void paintEvent(QPaintEvent *event);
2168 virtual void resizeEvent(QResizeEvent *event);
2169 virtual void mouseDoubleClickEvent(QMouseEvent *event);
2170 virtual void mousePressEvent(QMouseEvent *event);
2171 virtual void mouseMoveEvent(QMouseEvent *event);
2172 virtual void mouseReleaseEvent(QMouseEvent *event);
2173 virtual void wheelEvent(QWheelEvent *event);
2176 virtual void draw(QCPPainter *painter);
2177 virtual void axisRemoved(QCPAxis *axis);
2178 virtual void legendRemoved(
QCPLegend *legend);
2181 void updateLayerIndices()
const;
2182 QCPLayerable *layerableAt(
const QPointF &pos,
bool onlySelectable,
2183 QVariant *selectionDetails = 0)
const;
2184 void drawBackground(QCPPainter *painter);
2187 friend class QCPAxis;
2188 friend class QCPLayer;
2257 bool operator==(
const QCPColorGradient &other)
const;
2259 return !(*
this == other);
2269 void setLevelCount(
int n);
2270 void setColorStops(
const QMap<double, QColor> &colorStops);
2271 void setColorStopAt(
double position,
const QColor &color);
2273 void setPeriodic(
bool enabled);
2276 void colorize(
const double *data,
const QCPRange &range, QRgb *scanLine,
2277 int n,
int dataIndexFactor = 1,
bool logarithmic =
false);
2278 QRgb color(
double position,
const QCPRange &range,
bool logarithmic =
false);
2280 void clearColorStops();
2281 QCPColorGradient inverted()
const;
2284 void updateColorBuffer();
2288 QMap<double, QColor> mColorStops;
2293 QVector<QRgb> mColorBuffer;
2294 bool mColorBufferInvalidated;
2297 class QCP_LIB_DECL QCPAxisRect :
public QCPLayoutElement {
2300 Q_PROPERTY(QPixmap background READ background WRITE setBackground)
2302 bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled)
2303 Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode
2304 WRITE setBackgroundScaledMode)
2305 Q_PROPERTY(Qt::Orientations rangeDrag READ rangeDrag WRITE setRangeDrag)
2306 Q_PROPERTY(Qt::Orientations rangeZoom READ rangeZoom WRITE setRangeZoom)
2309 explicit QCPAxisRect(QCustomPlot *parentPlot,
bool setupDefaultAxes =
true);
2310 virtual ~QCPAxisRect();
2316 return mBackgroundScaledMode;
2320 QCPAxis *rangeDragAxis(Qt::Orientation orientation);
2321 QCPAxis *rangeZoomAxis(Qt::Orientation orientation);
2322 double rangeZoomFactor(Qt::Orientation orientation);
2325 void setBackground(
const QPixmap &pm);
2326 void setBackground(
const QPixmap &pm,
bool scaled,
2327 Qt::AspectRatioMode mode = Qt::KeepAspectRatioByExpanding);
2328 void setBackground(
const QBrush &brush);
2329 void setBackgroundScaled(
bool scaled);
2330 void setBackgroundScaledMode(Qt::AspectRatioMode mode);
2331 void setRangeDrag(Qt::Orientations orientations);
2332 void setRangeZoom(Qt::Orientations orientations);
2333 void setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical);
2334 void setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical);
2335 void setRangeZoomFactor(
double horizontalFactor,
double verticalFactor);
2336 void setRangeZoomFactor(
double factor);
2341 QList<QCPAxis *> axes(QCPAxis::AxisTypes types)
const;
2342 QList<QCPAxis *> axes()
const;
2344 QList<QCPAxis *> addAxes(QCPAxis::AxisTypes types);
2345 bool removeAxis(QCPAxis *axis);
2348 void setupFullAxesBox(
bool connectRanges =
false);
2349 QList<QCPAbstractPlottable *> plottables()
const;
2350 QList<QCPGraph *> graphs()
const;
2351 QList<QCPAbstractItem *> items()
const;
2354 int left()
const {
return mRect.left(); }
2355 int right()
const {
return mRect.right(); }
2356 int top()
const {
return mRect.top(); }
2357 int bottom()
const {
return mRect.bottom(); }
2358 int width()
const {
return mRect.width(); }
2359 int height()
const {
return mRect.height(); }
2360 QSize
size()
const {
return mRect.size(); }
2361 QPoint
topLeft()
const {
return mRect.topLeft(); }
2365 QPoint
center()
const {
return mRect.center(); }
2369 virtual QList<QCPLayoutElement *> elements(
bool recursive)
const;
2373 QBrush mBackgroundBrush;
2374 QPixmap mBackgroundPixmap;
2375 QPixmap mScaledBackgroundPixmap;
2376 bool mBackgroundScaled;
2377 Qt::AspectRatioMode mBackgroundScaledMode;
2378 QCPLayoutInset *mInsetLayout;
2379 Qt::Orientations mRangeDrag, mRangeZoom;
2380 QPointer<QCPAxis> mRangeDragHorzAxis, mRangeDragVertAxis, mRangeZoomHorzAxis,
2382 double mRangeZoomFactorHorz, mRangeZoomFactorVert;
2384 QCPRange mDragStartHorzRange, mDragStartVertRange;
2385 QCP::AntialiasedElements mAADragBackup, mNotAADragBackup;
2388 QHash<QCPAxis::AxisType, QList<QCPAxis *> > mAxes;
2391 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
2392 virtual void draw(QCPPainter *painter);
2395 virtual void mousePressEvent(QMouseEvent *event);
2396 virtual void mouseMoveEvent(QMouseEvent *event);
2397 virtual void mouseReleaseEvent(QMouseEvent *event);
2398 virtual void wheelEvent(QWheelEvent *event);
2401 void drawBackground(QCPPainter *painter);
2405 Q_DISABLE_COPY(QCPAxisRect)
2407 friend class QCustomPlot;
2410 class QCP_LIB_DECL QCPAbstractLegendItem :
public QCPLayoutElement {
2413 Q_PROPERTY(
QCPLegend *parentLegend READ parentLegend)
2414 Q_PROPERTY(QFont font READ font WRITE setFont)
2415 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
2416 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
2417 Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE
2418 setSelectedTextColor)
2419 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
2422 bool selected READ selected WRITE setSelected NOTIFY selectableChanged)
2425 explicit QCPAbstractLegendItem(
QCPLegend *parent);
2429 QFont
font()
const {
return mFont; }
2437 void setFont(
const QFont &font);
2438 void setTextColor(
const QColor &color);
2439 void setSelectedFont(
const QFont &font);
2440 void setSelectedTextColor(
const QColor &color);
2441 Q_SLOT
void setSelectable(
bool selectable);
2442 Q_SLOT
void setSelected(
bool selected);
2445 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
2446 QVariant *details = 0)
const;
2449 void selectionChanged(
bool selected);
2450 void selectableChanged(
bool selectable);
2457 QFont mSelectedFont;
2458 QColor mSelectedTextColor;
2459 bool mSelectable, mSelected;
2463 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
2464 virtual QRect clipRect()
const;
2465 virtual void draw(QCPPainter *painter) = 0;
2467 virtual void selectEvent(QMouseEvent *event,
bool additive,
2468 const QVariant &details,
2469 bool *selectionStateChanged);
2470 virtual void deselectEvent(
bool *selectionStateChanged);
2473 Q_DISABLE_COPY(QCPAbstractLegendItem)
2478 class QCP_LIB_DECL QCPPlottableLegendItem :
public QCPAbstractLegendItem {
2481 QCPPlottableLegendItem(
QCPLegend *parent, QCPAbstractPlottable *plottable);
2488 QCPAbstractPlottable *mPlottable;
2491 virtual void draw(QCPPainter *painter);
2492 virtual QSize minimumSizeHint()
const;
2495 QPen getIconBorderPen()
const;
2496 QColor getTextColor()
const;
2497 QFont getFont()
const;
2503 Q_PROPERTY(QPen borderPen READ borderPen WRITE setBorderPen)
2504 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
2505 Q_PROPERTY(QFont font READ font WRITE setFont)
2506 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
2507 Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
2508 Q_PROPERTY(
int iconTextPadding READ iconTextPadding WRITE setIconTextPadding)
2509 Q_PROPERTY(QPen iconBorderPen READ iconBorderPen WRITE setIconBorderPen)
2510 Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE
2511 setSelectableParts NOTIFY selectionChanged)
2512 Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE
2513 setSelectedParts NOTIFY selectableChanged)
2515 QPen selectedBorderPen READ selectedBorderPen WRITE setSelectedBorderPen)
2516 Q_PROPERTY(QPen selectedIconBorderPen READ selectedIconBorderPen WRITE
2517 setSelectedIconBorderPen)
2518 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
2519 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
2520 Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE
2521 setSelectedTextColor)
2540 explicit QCPLegend();
2541 virtual ~QCPLegend();
2546 QFont
font()
const {
return mFont; }
2552 SelectableParts selectedParts()
const;
2560 void setBorderPen(
const QPen &pen);
2561 void setBrush(
const QBrush &brush);
2562 void setFont(
const QFont &font);
2563 void setTextColor(
const QColor &color);
2564 void setIconSize(
const QSize &size);
2565 void setIconSize(
int width,
int height);
2566 void setIconTextPadding(
int padding);
2567 void setIconBorderPen(
const QPen &pen);
2568 Q_SLOT
void setSelectableParts(
const SelectableParts &selectableParts);
2569 Q_SLOT
void setSelectedParts(
const SelectableParts &selectedParts);
2570 void setSelectedBorderPen(
const QPen &pen);
2571 void setSelectedIconBorderPen(
const QPen &pen);
2572 void setSelectedBrush(
const QBrush &brush);
2573 void setSelectedFont(
const QFont &font);
2574 void setSelectedTextColor(
const QColor &color);
2577 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
2578 QVariant *details = 0)
const;
2581 QCPAbstractLegendItem *item(
int index)
const;
2582 QCPPlottableLegendItem *itemWithPlottable(
2583 const QCPAbstractPlottable *plottable)
const;
2584 int itemCount()
const;
2585 bool hasItem(QCPAbstractLegendItem *item)
const;
2586 bool hasItemWithPlottable(
const QCPAbstractPlottable *plottable)
const;
2587 bool addItem(QCPAbstractLegendItem *item);
2588 bool removeItem(
int index);
2589 bool removeItem(QCPAbstractLegendItem *item);
2591 QList<QCPAbstractLegendItem *> selectedItems()
const;
2594 void selectionChanged(QCPLegend::SelectableParts parts);
2595 void selectableChanged(QCPLegend::SelectableParts parts);
2599 QPen mBorderPen, mIconBorderPen;
2604 int mIconTextPadding;
2605 SelectableParts mSelectedParts, mSelectableParts;
2606 QPen mSelectedBorderPen, mSelectedIconBorderPen;
2607 QBrush mSelectedBrush;
2608 QFont mSelectedFont;
2609 QColor mSelectedTextColor;
2612 virtual void parentPlotInitialized(QCustomPlot *parentPlot);
2614 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
2615 virtual void draw(QCPPainter *painter);
2617 virtual void selectEvent(QMouseEvent *event,
bool additive,
2618 const QVariant &details,
2619 bool *selectionStateChanged);
2620 virtual void deselectEvent(
bool *selectionStateChanged);
2623 QPen getBorderPen()
const;
2624 QBrush getBrush()
const;
2627 Q_DISABLE_COPY(QCPLegend)
2629 friend class QCustomPlot;
2630 friend class QCPAbstractLegendItem;
2632 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPLegend::SelectableParts)
2635 class QCP_LIB_DECL QCPPlotTitle :
public QCPLayoutElement {
2638 Q_PROPERTY(QString text READ text WRITE setText)
2639 Q_PROPERTY(QFont font READ font WRITE setFont)
2640 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
2641 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
2642 Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE
2643 setSelectedTextColor)
2644 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY
2647 bool selected READ selected WRITE setSelected NOTIFY selectionChanged)
2650 explicit QCPPlotTitle(QCustomPlot *parentPlot);
2651 explicit QCPPlotTitle(QCustomPlot *parentPlot,
const QString &text);
2654 QString
text()
const {
return mText; }
2655 QFont
font()
const {
return mFont; }
2663 void setText(
const QString &text);
2664 void setFont(
const QFont &font);
2665 void setTextColor(
const QColor &color);
2666 void setSelectedFont(
const QFont &font);
2667 void setSelectedTextColor(
const QColor &color);
2668 Q_SLOT
void setSelectable(
bool selectable);
2669 Q_SLOT
void setSelected(
bool selected);
2672 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
2673 QVariant *details = 0)
const;
2676 void selectionChanged(
bool selected);
2677 void selectableChanged(
bool selectable);
2684 QFont mSelectedFont;
2685 QColor mSelectedTextColor;
2686 QRect mTextBoundingRect;
2687 bool mSelectable, mSelected;
2690 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
2691 virtual void draw(QCPPainter *painter);
2692 virtual QSize minimumSizeHint()
const;
2693 virtual QSize maximumSizeHint()
const;
2695 virtual void selectEvent(QMouseEvent *event,
bool additive,
2696 const QVariant &details,
2697 bool *selectionStateChanged);
2698 virtual void deselectEvent(
bool *selectionStateChanged);
2701 QFont mainFont()
const;
2702 QColor mainTextColor()
const;
2705 Q_DISABLE_COPY(QCPPlotTitle)
2715 QImage mGradientImage;
2716 bool mGradientImageInvalidated;
2725 virtual void draw(QCPPainter *painter);
2726 void updateGradientImage();
2727 Q_SLOT
void axisSelectionChanged(QCPAxis::SelectableParts selectedParts);
2728 Q_SLOT
void axisSelectableChanged(QCPAxis::SelectableParts selectableParts);
2732 class QCP_LIB_DECL QCPColorScale :
public QCPLayoutElement {
2736 Q_PROPERTY(QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY
2739 setDataScaleType NOTIFY dataScaleTypeChanged)
2740 Q_PROPERTY(QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY
2742 Q_PROPERTY(QString label READ label WRITE setLabel)
2743 Q_PROPERTY(
int barWidth READ barWidth WRITE setBarWidth)
2744 Q_PROPERTY(
bool rangeDrag READ rangeDrag WRITE setRangeDrag)
2745 Q_PROPERTY(
bool rangeZoom READ rangeZoom WRITE setRangeZoom)
2748 explicit QCPColorScale(QCustomPlot *parentPlot);
2749 virtual ~QCPColorScale();
2752 QCPAxis *
axis()
const {
return mColorAxis.data(); }
2756 QCPColorGradient
gradient()
const {
return mGradient; }
2757 QString label()
const;
2759 bool rangeDrag()
const;
2760 bool rangeZoom()
const;
2764 Q_SLOT
void setDataRange(
const QCPRange &dataRange);
2766 Q_SLOT
void setGradient(
const QCPColorGradient &gradient);
2767 void setLabel(
const QString &str);
2768 void setBarWidth(
int width);
2769 void setRangeDrag(
bool enabled);
2770 void setRangeZoom(
bool enabled);
2773 QList<QCPColorMap *> colorMaps()
const;
2774 void rescaleDataRange(
bool onlyVisibleMaps);
2780 void dataRangeChanged(QCPRange newRange);
2782 void gradientChanged(QCPColorGradient newGradient);
2787 QCPRange mDataRange;
2789 QCPColorGradient mGradient;
2793 QPointer<QCPColorScaleAxisRectPrivate> mAxisRect;
2794 QPointer<QCPAxis> mColorAxis;
2797 virtual void applyDefaultAntialiasingHint(QCPPainter *painter)
const;
2799 virtual void mousePressEvent(QMouseEvent *event);
2800 virtual void mouseMoveEvent(QMouseEvent *event);
2801 virtual void mouseReleaseEvent(QMouseEvent *event);
2802 virtual void wheelEvent(QWheelEvent *event);
2805 Q_DISABLE_COPY(QCPColorScale)
2815 QCPData(
double key,
double value);
2817 double keyErrorPlus, keyErrorMinus;
2818 double valueErrorPlus, valueErrorMinus;
2836 Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
2839 Q_PROPERTY(ErrorType errorType READ errorType WRITE setErrorType)
2840 Q_PROPERTY(QPen errorPen READ errorPen WRITE setErrorPen)
2841 Q_PROPERTY(
double errorBarSize READ errorBarSize WRITE setErrorBarSize)
2842 Q_PROPERTY(
bool errorBarSkipSymbol READ errorBarSkipSymbol WRITE
2843 setErrorBarSkipSymbol)
2844 Q_PROPERTY(
QCPGraph *channelFillGraph READ channelFillGraph WRITE
2845 setChannelFillGraph)
2847 bool adaptiveSampling READ adaptiveSampling WRITE setAdaptiveSampling)
2890 explicit QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis);
2905 void setData(
QCPDataMap *data,
bool copy =
false);
2906 void setData(
const QVector<double> &key,
const QVector<double> &value);
2907 void setDataKeyError(
const QVector<double> &key,
const QVector<double> &value,
2908 const QVector<double> &keyError);
2909 void setDataKeyError(
const QVector<double> &key,
const QVector<double> &value,
2910 const QVector<double> &keyErrorMinus,
2911 const QVector<double> &keyErrorPlus);
2912 void setDataValueError(
const QVector<double> &key,
2913 const QVector<double> &value,
2914 const QVector<double> &valueError);
2915 void setDataValueError(
const QVector<double> &key,
2916 const QVector<double> &value,
2917 const QVector<double> &valueErrorMinus,
2918 const QVector<double> &valueErrorPlus);
2919 void setDataBothError(
const QVector<double> &key,
2920 const QVector<double> &value,
2921 const QVector<double> &keyError,
2922 const QVector<double> &valueError);
2923 void setDataBothError(
const QVector<double> &key,
2924 const QVector<double> &value,
2925 const QVector<double> &keyErrorMinus,
2926 const QVector<double> &keyErrorPlus,
2927 const QVector<double> &valueErrorMinus,
2928 const QVector<double> &valueErrorPlus);
2932 void setErrorPen(
const QPen &pen);
2933 void setErrorBarSize(
double size);
2934 void setErrorBarSkipSymbol(
bool enabled);
2935 void setChannelFillGraph(
QCPGraph *targetGraph);
2936 void setAdaptiveSampling(
bool enabled);
2940 void addData(
const QCPData &data);
2941 void addData(
double key,
double value);
2942 void addData(
const QVector<double> &keys,
const QVector<double> &values);
2943 void removeDataBefore(
double key);
2944 void removeDataAfter(
double key);
2945 void removeData(
double fromKey,
double toKey);
2946 void removeData(
double key);
2949 virtual void clearData();
2950 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
2951 QVariant *details = 0)
const;
2955 void rescaleAxes(
bool onlyEnlarge,
bool includeErrorBars)
2957 void rescaleKeyAxis(
bool onlyEnlarge,
bool includeErrorBars)
2959 void rescaleValueAxis(
bool onlyEnlarge,
bool includeErrorBars)
2969 double mErrorBarSize;
2970 bool mErrorBarSkipSymbol;
2971 QPointer<QCPGraph> mChannelFillGraph;
2972 bool mAdaptiveSampling;
2975 virtual void draw(QCPPainter *painter);
2976 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
2977 virtual QCPRange getKeyRange(
bool &foundRange,
2979 virtual QCPRange getValueRange(
bool &foundRange,
2981 virtual QCPRange getKeyRange(
2983 bool includeErrors)
const;
2984 virtual QCPRange getValueRange(
2986 bool includeErrors)
const;
2989 virtual void drawFill(QCPPainter *painter, QVector<QPointF> *lineData)
const;
2990 virtual void drawScatterPlot(QCPPainter *painter,
2991 QVector<QCPData> *scatterData)
const;
2992 virtual void drawLinePlot(QCPPainter *painter,
2993 QVector<QPointF> *lineData)
const;
2994 virtual void drawImpulsePlot(QCPPainter *painter,
2995 QVector<QPointF> *lineData)
const;
2998 void getPreparedData(QVector<QCPData> *lineData,
2999 QVector<QCPData> *scatterData)
const;
3000 void getPlotData(QVector<QPointF> *lineData,
3001 QVector<QCPData> *scatterData)
const;
3002 void getScatterPlotData(QVector<QCPData> *scatterData)
const;
3003 void getLinePlotData(QVector<QPointF> *linePixelData,
3004 QVector<QCPData> *scatterData)
const;
3005 void getStepLeftPlotData(QVector<QPointF> *linePixelData,
3006 QVector<QCPData> *scatterData)
const;
3007 void getStepRightPlotData(QVector<QPointF> *linePixelData,
3008 QVector<QCPData> *scatterData)
const;
3009 void getStepCenterPlotData(QVector<QPointF> *linePixelData,
3010 QVector<QCPData> *scatterData)
const;
3011 void getImpulsePlotData(QVector<QPointF> *linePixelData,
3012 QVector<QCPData> *scatterData)
const;
3013 void drawError(QCPPainter *painter,
double x,
double y,
3014 const QCPData &data)
const;
3015 void getVisibleDataBounds(QCPDataMap::const_iterator &lower,
3016 QCPDataMap::const_iterator &upper)
const;
3017 int countDataInBounds(
const QCPDataMap::const_iterator &lower,
3018 const QCPDataMap::const_iterator &upper,
3019 int maxCount)
const;
3020 void addFillBasePoints(QVector<QPointF> *lineData)
const;
3021 void removeFillBasePoints(QVector<QPointF> *lineData)
const;
3022 QPointF lowerFillBasePoint(
double lowerKey)
const;
3023 QPointF upperFillBasePoint(
double upperKey)
const;
3024 const QPolygonF getChannelFillPolygon(
const QVector<QPointF> *lineData)
const;
3025 int findIndexBelowX(
const QVector<QPointF> *data,
double x)
const;
3026 int findIndexAboveX(
const QVector<QPointF> *data,
double x)
const;
3027 int findIndexBelowY(
const QVector<QPointF> *data,
double y)
const;
3028 int findIndexAboveY(
const QVector<QPointF> *data,
double y)
const;
3029 double pointDistance(
const QPointF &pixelPoint)
const;
3031 friend class QCustomPlot;
3032 friend class QCPLegend;
3040 QCPCurveData(
double t,
double key,
double value);
3041 double t, key, value;
3055 typedef QMutableMapIterator<double, QCPCurveData>
3063 Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
3075 explicit QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis);
3085 void setData(
const QVector<double> &t,
const QVector<double> &key,
3086 const QVector<double> &value);
3087 void setData(
const QVector<double> &key,
const QVector<double> &value);
3093 void addData(
const QCPCurveData &data);
3094 void addData(
double t,
double key,
double value);
3095 void addData(
double key,
double value);
3096 void addData(
const QVector<double> &ts,
const QVector<double> &keys,
3097 const QVector<double> &values);
3098 void removeDataBefore(
double t);
3099 void removeDataAfter(
double t);
3100 void removeData(
double fromt,
double tot);
3101 void removeData(
double t);
3104 virtual void clearData();
3105 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3106 QVariant *details = 0)
const;
3115 virtual void draw(QCPPainter *painter);
3116 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
3117 virtual QCPRange getKeyRange(
bool &foundRange,
3119 virtual QCPRange getValueRange(
bool &foundRange,
3123 virtual void drawScatterPlot(QCPPainter *painter,
3124 const QVector<QPointF> *pointData)
const;
3127 void getCurveData(QVector<QPointF> *lineData)
const;
3128 int getRegion(
double x,
double y,
double rectLeft,
double rectTop,
3129 double rectRight,
double rectBottom)
const;
3130 QPointF getOptimizedPoint(
int prevRegion,
double prevKey,
double prevValue,
3131 double key,
double value,
double rectLeft,
3132 double rectTop,
double rectRight,
3133 double rectBottom)
const;
3134 QVector<QPointF> getOptimizedCornerPoints(
int prevRegion,
int currentRegion,
3135 double prevKey,
double prevValue,
3136 double key,
double value,
3137 double rectLeft,
double rectTop,
3139 double rectBottom)
const;
3140 bool mayTraverse(
int prevRegion,
int currentRegion)
const;
3141 bool getTraverse(
double prevKey,
double prevValue,
double key,
double value,
3142 double rectLeft,
double rectTop,
double rectRight,
3143 double rectBottom, QPointF &crossA, QPointF &crossB)
const;
3144 void getTraverseCornerPoints(
int prevRegion,
int currentRegion,
3145 double rectLeft,
double rectTop,
3146 double rectRight,
double rectBottom,
3147 QVector<QPointF> &beforeTraverse,
3148 QVector<QPointF> &afterTraverse)
const;
3149 double pointDistance(
const QPointF &pixelPoint)
const;
3151 friend class QCustomPlot;
3152 friend class QCPLegend;
3160 Q_PROPERTY(SpacingType spacingType READ spacingType WRITE setSpacingType)
3161 Q_PROPERTY(
double spacing READ spacing WRITE setSpacing)
3179 QCPBarsGroup(QCustomPlot *parentPlot);
3188 void setSpacing(
double spacing);
3191 QList<QCPBars *>
bars()
const {
return mBars; }
3192 QCPBars *bars(
int index)
const;
3193 int size()
const {
return mBars.size(); }
3198 void insert(
int i,
QCPBars *bars);
3203 QCustomPlot *mParentPlot;
3206 QList<QCPBars *> mBars;
3209 void registerBars(
QCPBars *bars);
3210 void unregisterBars(
QCPBars *bars);
3213 double keyPixelOffset(
const QCPBars *bars,
double keyCoord);
3214 double getPixelSpacing(
const QCPBars *bars,
double keyCoord);
3217 Q_DISABLE_COPY(QCPBarsGroup)
3225 QCPBarData(
double key,
double value);
3244 Q_PROPERTY(
double width READ width WRITE setWidth)
3245 Q_PROPERTY(WidthType widthType READ widthType WRITE setWidthType)
3246 Q_PROPERTY(QCPBarsGroup *barsGroup READ barsGroup WRITE setBarsGroup)
3247 Q_PROPERTY(
double baseValue READ baseValue WRITE setBaseValue)
3248 Q_PROPERTY(
QCPBars *barBelow READ barBelow)
3249 Q_PROPERTY(
QCPBars *barAbove READ barAbove)
3268 explicit QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis);
3281 void setWidth(
double width);
3283 void setBarsGroup(QCPBarsGroup *barsGroup);
3284 void setBaseValue(
double baseValue);
3286 void setData(
const QVector<double> &key,
const QVector<double> &value);
3289 void moveBelow(
QCPBars *bars);
3290 void moveAbove(
QCPBars *bars);
3292 void addData(
const QCPBarData &data);
3293 void addData(
double key,
double value);
3294 void addData(
const QVector<double> &keys,
const QVector<double> &values);
3295 void removeDataBefore(
double key);
3296 void removeDataAfter(
double key);
3297 void removeData(
double fromKey,
double toKey);
3298 void removeData(
double key);
3301 virtual void clearData();
3302 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3303 QVariant *details = 0)
const;
3310 QCPBarsGroup *mBarsGroup;
3312 QPointer<QCPBars> mBarBelow, mBarAbove;
3315 virtual void draw(QCPPainter *painter);
3316 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
3317 virtual QCPRange getKeyRange(
bool &foundRange,
3319 virtual QCPRange getValueRange(
bool &foundRange,
3323 void getVisibleDataBounds(QCPBarDataMap::const_iterator &lower,
3324 QCPBarDataMap::const_iterator &upperEnd)
const;
3325 QPolygonF getBarPolygon(
double key,
double value)
const;
3326 void getPixelWidth(
double key,
double &lower,
double &upper)
const;
3327 double getStackedBaseValue(
double key,
bool positive)
const;
3330 friend class QCustomPlot;
3331 friend class QCPLegend;
3332 friend class QCPBarsGroup;
3337 class QCP_LIB_DECL QCPStatisticalBox :
public QCPAbstractPlottable {
3340 Q_PROPERTY(
double key READ key WRITE setKey)
3341 Q_PROPERTY(
double minimum READ minimum WRITE setMinimum)
3342 Q_PROPERTY(
double lowerQuartile READ lowerQuartile WRITE setLowerQuartile)
3343 Q_PROPERTY(
double median READ median WRITE setMedian)
3344 Q_PROPERTY(
double upperQuartile READ upperQuartile WRITE setUpperQuartile)
3345 Q_PROPERTY(
double maximum READ maximum WRITE setMaximum)
3346 Q_PROPERTY(QVector<double> outliers READ outliers WRITE setOutliers)
3347 Q_PROPERTY(
double width READ width WRITE setWidth)
3348 Q_PROPERTY(
double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth)
3349 Q_PROPERTY(QPen whiskerPen READ whiskerPen WRITE setWhiskerPen)
3350 Q_PROPERTY(QPen whiskerBarPen READ whiskerBarPen WRITE setWhiskerBarPen)
3351 Q_PROPERTY(QPen medianPen READ medianPen WRITE setMedianPen)
3356 explicit QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis);
3359 double key()
const {
return mKey; }
3374 void setKey(
double key);
3375 void setMinimum(
double value);
3376 void setLowerQuartile(
double value);
3377 void setMedian(
double value);
3378 void setUpperQuartile(
double value);
3379 void setMaximum(
double value);
3380 void setOutliers(
const QVector<double> &values);
3381 void setData(
double key,
double minimum,
double lowerQuartile,
double median,
3382 double upperQuartile,
double maximum);
3383 void setWidth(
double width);
3384 void setWhiskerWidth(
double width);
3385 void setWhiskerPen(
const QPen &pen);
3386 void setWhiskerBarPen(
const QPen &pen);
3387 void setMedianPen(
const QPen &pen);
3391 virtual void clearData();
3392 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3393 QVariant *details = 0)
const;
3397 QVector<double> mOutliers;
3398 double mKey, mMinimum, mLowerQuartile, mMedian, mUpperQuartile, mMaximum;
3400 double mWhiskerWidth;
3401 QPen mWhiskerPen, mWhiskerBarPen, mMedianPen;
3405 virtual void draw(QCPPainter *painter);
3406 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
3407 virtual QCPRange getKeyRange(
bool &foundRange,
3409 virtual QCPRange getValueRange(
bool &foundRange,
3413 virtual void drawQuartileBox(QCPPainter *painter,
3414 QRectF *quartileBox = 0)
const;
3415 virtual void drawMedian(QCPPainter *painter)
const;
3416 virtual void drawWhiskers(QCPPainter *painter)
const;
3417 virtual void drawOutliers(QCPPainter *painter)
const;
3419 friend class QCustomPlot;
3420 friend class QCPLegend;
3425 QCPColorMapData(
int keySize,
int valueSize,
const QCPRange &keyRange,
3426 const QCPRange &valueRange);
3428 QCPColorMapData(
const QCPColorMapData &other);
3429 QCPColorMapData &operator=(
const QCPColorMapData &other);
3437 double data(
double key,
double value);
3438 double cell(
int keyIndex,
int valueIndex);
3441 void setSize(
int keySize,
int valueSize);
3442 void setKeySize(
int keySize);
3443 void setValueSize(
int valueSize);
3444 void setRange(
const QCPRange &keyRange,
const QCPRange &valueRange);
3445 void setKeyRange(
const QCPRange &keyRange);
3446 void setValueRange(
const QCPRange &valueRange);
3447 void setData(
double key,
double value,
double z);
3448 void setCell(
int keyIndex,
int valueIndex,
double z);
3451 void recalculateDataBounds();
3453 void fill(
double z);
3455 void coordToCell(
double key,
double value,
int *keyIndex,
3456 int *valueIndex)
const;
3457 void cellToCoord(
int keyIndex,
int valueIndex,
double *key,
3458 double *value)
const;
3462 int mKeySize, mValueSize;
3463 QCPRange mKeyRange, mValueRange;
3467 QCPRange mDataBounds;
3473 class QCP_LIB_DECL QCPColorMap :
public QCPAbstractPlottable {
3476 Q_PROPERTY(QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY
3479 setDataScaleType NOTIFY dataScaleTypeChanged)
3480 Q_PROPERTY(QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY
3482 Q_PROPERTY(
bool interpolate READ interpolate WRITE setInterpolate)
3483 Q_PROPERTY(
bool tightBoundary READ tightBoundary WRITE setTightBoundary)
3484 Q_PROPERTY(QCPColorScale *colorScale READ colorScale WRITE setColorScale)
3487 explicit QCPColorMap(QCPAxis *keyAxis, QCPAxis *valueAxis);
3488 virtual ~QCPColorMap();
3491 QCPColorMapData *
data()
const {
return mMapData; }
3496 QCPColorGradient
gradient()
const {
return mGradient; }
3500 void setData(QCPColorMapData *data,
bool copy =
false);
3501 Q_SLOT
void setDataRange(
const QCPRange &dataRange);
3503 Q_SLOT
void setGradient(
const QCPColorGradient &gradient);
3504 void setInterpolate(
bool enabled);
3505 void setTightBoundary(
bool enabled);
3506 void setColorScale(QCPColorScale *colorScale);
3509 void rescaleDataRange(
bool recalculateDataBounds =
false);
3510 Q_SLOT
void updateLegendIcon(
3511 Qt::TransformationMode transformMode = Qt::SmoothTransformation,
3512 const QSize &thumbSize = QSize(32, 18));
3515 virtual void clearData();
3516 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3517 QVariant *details = 0)
const;
3520 void dataRangeChanged(QCPRange newRange);
3522 void gradientChanged(QCPColorGradient newGradient);
3526 QCPRange mDataRange;
3528 QCPColorMapData *mMapData;
3529 QCPColorGradient mGradient;
3531 bool mTightBoundary;
3532 QPointer<QCPColorScale> mColorScale;
3534 QImage mMapImage, mUndersampledMapImage;
3535 QPixmap mLegendIcon;
3536 bool mMapImageInvalidated;
3539 virtual void updateMapImage();
3542 virtual void draw(QCPPainter *painter);
3543 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
3544 virtual QCPRange getKeyRange(
bool &foundRange,
3546 virtual QCPRange getValueRange(
bool &foundRange,
3549 friend class QCustomPlot;
3550 friend class QCPLegend;
3558 QCPFinancialData(
double key,
double open,
double high,
double low,
3560 double key, open, high, low, close;
3573 typedef QMutableMapIterator<double, QCPFinancialData>
3579 Q_PROPERTY(ChartStyle chartStyle READ chartStyle WRITE setChartStyle)
3580 Q_PROPERTY(
double width READ width WRITE setWidth)
3581 Q_PROPERTY(
bool twoColored READ twoColored WRITE setTwoColored)
3582 Q_PROPERTY(QBrush brushPositive READ brushPositive WRITE setBrushPositive)
3583 Q_PROPERTY(QBrush brushNegative READ brushNegative WRITE setBrushNegative)
3584 Q_PROPERTY(QPen penPositive READ penPositive WRITE setPenPositive)
3585 Q_PROPERTY(QPen penNegative READ penNegative WRITE setPenNegative)
3600 explicit QCPFinancial(QCPAxis *keyAxis, QCPAxis *valueAxis);
3615 void setData(
const QVector<double> &key,
const QVector<double> &open,
3616 const QVector<double> &high,
const QVector<double> &low,
3617 const QVector<double> &close);
3619 void setWidth(
double width);
3620 void setTwoColored(
bool twoColored);
3621 void setBrushPositive(
const QBrush &brush);
3622 void setBrushNegative(
const QBrush &brush);
3623 void setPenPositive(
const QPen &pen);
3624 void setPenNegative(
const QPen &pen);
3628 void addData(
const QCPFinancialData &data);
3629 void addData(
double key,
double open,
double high,
double low,
double close);
3630 void addData(
const QVector<double> &key,
const QVector<double> &open,
3631 const QVector<double> &high,
const QVector<double> &low,
3632 const QVector<double> &close);
3633 void removeDataBefore(
double key);
3634 void removeDataAfter(
double key);
3635 void removeData(
double fromKey,
double toKey);
3636 void removeData(
double key);
3639 virtual void clearData();
3640 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3641 QVariant *details = 0)
const;
3645 const QVector<double> &value,
3647 double timeBinOffset = 0);
3655 QBrush mBrushPositive, mBrushNegative;
3656 QPen mPenPositive, mPenNegative;
3659 virtual void draw(QCPPainter *painter);
3660 virtual void drawLegendIcon(QCPPainter *painter,
const QRectF &rect)
const;
3661 virtual QCPRange getKeyRange(
bool &foundRange,
3663 virtual QCPRange getValueRange(
bool &foundRange,
3667 void drawOhlcPlot(QCPPainter *painter,
3668 const QCPFinancialDataMap::const_iterator &begin,
3669 const QCPFinancialDataMap::const_iterator &end);
3670 void drawCandlestickPlot(QCPPainter *painter,
3671 const QCPFinancialDataMap::const_iterator &begin,
3672 const QCPFinancialDataMap::const_iterator &end);
3673 double ohlcSelectTest(
const QPointF &pos,
3674 const QCPFinancialDataMap::const_iterator &begin,
3675 const QCPFinancialDataMap::const_iterator &end)
const;
3676 double candlestickSelectTest(
3677 const QPointF &pos,
const QCPFinancialDataMap::const_iterator &begin,
3678 const QCPFinancialDataMap::const_iterator &end)
const;
3679 void getVisibleDataBounds(QCPFinancialDataMap::const_iterator &lower,
3680 QCPFinancialDataMap::const_iterator &upper)
const;
3682 friend class QCustomPlot;
3683 friend class QCPLegend;
3686 class QCP_LIB_DECL QCPItemStraightLine :
public QCPAbstractItem {
3689 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3690 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3693 QCPItemStraightLine(QCustomPlot *parentPlot);
3694 virtual ~QCPItemStraightLine();
3697 QPen
pen()
const {
return mPen; }
3701 void setPen(
const QPen &pen);
3702 void setSelectedPen(
const QPen &pen);
3705 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3706 QVariant *details = 0)
const;
3708 QCPItemPosition *
const point1;
3709 QCPItemPosition *
const point2;
3713 QPen mPen, mSelectedPen;
3716 virtual void draw(QCPPainter *painter);
3719 double distToStraightLine(
const QVector2D &point1,
const QVector2D &vec,
3720 const QVector2D &point)
const;
3721 QLineF getRectClippedStraightLine(
const QVector2D &point1,
3722 const QVector2D &vec,
3723 const QRect &rect)
const;
3724 QPen mainPen()
const;
3727 class QCP_LIB_DECL QCPItemLine :
public QCPAbstractItem {
3730 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3731 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3732 Q_PROPERTY(QCPLineEnding head READ head WRITE setHead)
3733 Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail)
3736 QCPItemLine(QCustomPlot *parentPlot);
3737 virtual ~QCPItemLine();
3740 QPen
pen()
const {
return mPen; }
3742 QCPLineEnding
head()
const {
return mHead; }
3743 QCPLineEnding
tail()
const {
return mTail; }
3746 void setPen(
const QPen &pen);
3747 void setSelectedPen(
const QPen &pen);
3748 void setHead(
const QCPLineEnding &head);
3749 void setTail(
const QCPLineEnding &tail);
3752 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3753 QVariant *details = 0)
const;
3755 QCPItemPosition *
const start;
3756 QCPItemPosition *
const end;
3760 QPen mPen, mSelectedPen;
3761 QCPLineEnding mHead, mTail;
3764 virtual void draw(QCPPainter *painter);
3767 QLineF getRectClippedLine(
const QVector2D &start,
const QVector2D &end,
3768 const QRect &rect)
const;
3769 QPen mainPen()
const;
3772 class QCP_LIB_DECL QCPItemCurve :
public QCPAbstractItem {
3775 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3776 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3777 Q_PROPERTY(QCPLineEnding head READ head WRITE setHead)
3778 Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail)
3781 QCPItemCurve(QCustomPlot *parentPlot);
3782 virtual ~QCPItemCurve();
3785 QPen
pen()
const {
return mPen; }
3787 QCPLineEnding
head()
const {
return mHead; }
3788 QCPLineEnding
tail()
const {
return mTail; }
3791 void setPen(
const QPen &pen);
3792 void setSelectedPen(
const QPen &pen);
3793 void setHead(
const QCPLineEnding &head);
3794 void setTail(
const QCPLineEnding &tail);
3797 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3798 QVariant *details = 0)
const;
3800 QCPItemPosition *
const start;
3801 QCPItemPosition *
const startDir;
3802 QCPItemPosition *
const endDir;
3803 QCPItemPosition *
const end;
3807 QPen mPen, mSelectedPen;
3808 QCPLineEnding mHead, mTail;
3811 virtual void draw(QCPPainter *painter);
3814 QPen mainPen()
const;
3817 class QCP_LIB_DECL QCPItemRect :
public QCPAbstractItem {
3820 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3821 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3822 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
3823 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
3826 QCPItemRect(QCustomPlot *parentPlot);
3827 virtual ~QCPItemRect();
3830 QPen
pen()
const {
return mPen; }
3836 void setPen(
const QPen &pen);
3837 void setSelectedPen(
const QPen &pen);
3838 void setBrush(
const QBrush &brush);
3839 void setSelectedBrush(
const QBrush &brush);
3842 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3843 QVariant *details = 0)
const;
3845 QCPItemPosition *
const topLeft;
3846 QCPItemPosition *
const bottomRight;
3847 QCPItemAnchor *
const top;
3848 QCPItemAnchor *
const topRight;
3849 QCPItemAnchor *
const right;
3850 QCPItemAnchor *
const bottom;
3851 QCPItemAnchor *
const bottomLeft;
3852 QCPItemAnchor *
const left;
3865 QPen mPen, mSelectedPen;
3866 QBrush mBrush, mSelectedBrush;
3869 virtual void draw(QCPPainter *painter);
3870 virtual QPointF anchorPixelPoint(
int anchorId)
const;
3873 QPen mainPen()
const;
3874 QBrush mainBrush()
const;
3877 class QCP_LIB_DECL QCPItemText :
public QCPAbstractItem {
3880 Q_PROPERTY(QColor color READ color WRITE setColor)
3881 Q_PROPERTY(QColor selectedColor READ selectedColor WRITE setSelectedColor)
3882 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3883 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3884 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
3885 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
3886 Q_PROPERTY(QFont font READ font WRITE setFont)
3887 Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
3888 Q_PROPERTY(QString text READ text WRITE setText)
3889 Q_PROPERTY(Qt::Alignment positionAlignment READ positionAlignment WRITE
3890 setPositionAlignment)
3892 Qt::Alignment textAlignment READ textAlignment WRITE setTextAlignment)
3893 Q_PROPERTY(
double rotation READ rotation WRITE setRotation)
3894 Q_PROPERTY(QMargins padding READ padding WRITE setPadding)
3897 QCPItemText(QCustomPlot *parentPlot);
3898 virtual ~QCPItemText();
3903 QPen
pen()
const {
return mPen; }
3907 QFont
font()
const {
return mFont; }
3909 QString
text()
const {
return mText; }
3916 void setColor(
const QColor &color);
3917 void setSelectedColor(
const QColor &color);
3918 void setPen(
const QPen &pen);
3919 void setSelectedPen(
const QPen &pen);
3920 void setBrush(
const QBrush &brush);
3921 void setSelectedBrush(
const QBrush &brush);
3922 void setFont(
const QFont &font);
3923 void setSelectedFont(
const QFont &font);
3924 void setText(
const QString &text);
3925 void setPositionAlignment(Qt::Alignment alignment);
3926 void setTextAlignment(Qt::Alignment alignment);
3927 void setRotation(
double degrees);
3928 void setPadding(
const QMargins &padding);
3931 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
3932 QVariant *details = 0)
const;
3934 QCPItemPosition *
const position;
3935 QCPItemAnchor *
const topLeft;
3936 QCPItemAnchor *
const top;
3937 QCPItemAnchor *
const topRight;
3938 QCPItemAnchor *
const right;
3939 QCPItemAnchor *
const bottomRight;
3940 QCPItemAnchor *
const bottom;
3941 QCPItemAnchor *
const bottomLeft;
3942 QCPItemAnchor *
const left;
3957 QColor mColor, mSelectedColor;
3958 QPen mPen, mSelectedPen;
3959 QBrush mBrush, mSelectedBrush;
3960 QFont mFont, mSelectedFont;
3962 Qt::Alignment mPositionAlignment;
3963 Qt::Alignment mTextAlignment;
3968 virtual void draw(QCPPainter *painter);
3969 virtual QPointF anchorPixelPoint(
int anchorId)
const;
3972 QPointF getTextDrawPoint(
const QPointF &pos,
const QRectF &rect,
3973 Qt::Alignment positionAlignment)
const;
3974 QFont mainFont()
const;
3975 QColor mainColor()
const;
3976 QPen mainPen()
const;
3977 QBrush mainBrush()
const;
3980 class QCP_LIB_DECL QCPItemEllipse :
public QCPAbstractItem {
3983 Q_PROPERTY(QPen pen READ pen WRITE setPen)
3984 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
3985 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
3986 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
3989 QCPItemEllipse(QCustomPlot *parentPlot);
3990 virtual ~QCPItemEllipse();
3993 QPen
pen()
const {
return mPen; }
3999 void setPen(
const QPen &pen);
4000 void setSelectedPen(
const QPen &pen);
4001 void setBrush(
const QBrush &brush);
4002 void setSelectedBrush(
const QBrush &brush);
4005 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
4006 QVariant *details = 0)
const;
4008 QCPItemPosition *
const topLeft;
4009 QCPItemPosition *
const bottomRight;
4010 QCPItemAnchor *
const topLeftRim;
4011 QCPItemAnchor *
const top;
4012 QCPItemAnchor *
const topRightRim;
4013 QCPItemAnchor *
const right;
4014 QCPItemAnchor *
const bottomRightRim;
4015 QCPItemAnchor *
const bottom;
4016 QCPItemAnchor *
const bottomLeftRim;
4017 QCPItemAnchor *
const left;
4018 QCPItemAnchor *
const center;
4034 QPen mPen, mSelectedPen;
4035 QBrush mBrush, mSelectedBrush;
4038 virtual void draw(QCPPainter *painter);
4039 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4042 QPen mainPen()
const;
4043 QBrush mainBrush()
const;
4046 class QCP_LIB_DECL QCPItemPixmap :
public QCPAbstractItem {
4049 Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
4050 Q_PROPERTY(
bool scaled READ scaled WRITE setScaled)
4051 Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode)
4052 Q_PROPERTY(Qt::TransformationMode transformationMode READ transformationMode)
4053 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4054 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4057 QCPItemPixmap(QCustomPlot *parentPlot);
4058 virtual ~QCPItemPixmap();
4065 return mTransformationMode;
4067 QPen
pen()
const {
return mPen; }
4071 void setPixmap(
const QPixmap &pixmap);
4073 bool scaled, Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio,
4074 Qt::TransformationMode transformationMode = Qt::SmoothTransformation);
4075 void setPen(
const QPen &pen);
4076 void setSelectedPen(
const QPen &pen);
4079 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
4080 QVariant *details = 0)
const;
4082 QCPItemPosition *
const topLeft;
4083 QCPItemPosition *
const bottomRight;
4084 QCPItemAnchor *
const top;
4085 QCPItemAnchor *
const topRight;
4086 QCPItemAnchor *
const right;
4087 QCPItemAnchor *
const bottom;
4088 QCPItemAnchor *
const bottomLeft;
4089 QCPItemAnchor *
const left;
4103 QPixmap mScaledPixmap;
4105 bool mScaledPixmapInvalidated;
4106 Qt::AspectRatioMode mAspectRatioMode;
4107 Qt::TransformationMode mTransformationMode;
4108 QPen mPen, mSelectedPen;
4111 virtual void draw(QCPPainter *painter);
4112 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4115 void updateScaledPixmap(QRect finalRect = QRect(),
bool flipHorz =
false,
4116 bool flipVert =
false);
4117 QRect getFinalRect(
bool *flippedHorz = 0,
bool *flippedVert = 0)
const;
4118 QPen mainPen()
const;
4121 class QCP_LIB_DECL QCPItemTracer :
public QCPAbstractItem {
4124 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4125 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4126 Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
4127 Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
4128 Q_PROPERTY(
double size READ size WRITE setSize)
4129 Q_PROPERTY(TracerStyle style READ style WRITE setStyle)
4130 Q_PROPERTY(
QCPGraph *graph READ graph WRITE setGraph)
4131 Q_PROPERTY(
double graphKey READ graphKey WRITE setGraphKey)
4132 Q_PROPERTY(
bool interpolating READ interpolating WRITE setInterpolating)
4154 QCPItemTracer(QCustomPlot *parentPlot);
4155 virtual ~QCPItemTracer();
4158 QPen
pen()
const {
return mPen; }
4162 double size()
const {
return mSize; }
4169 void setPen(
const QPen &pen);
4170 void setSelectedPen(
const QPen &pen);
4171 void setBrush(
const QBrush &brush);
4172 void setSelectedBrush(
const QBrush &brush);
4173 void setSize(
double size);
4176 void setGraphKey(
double key);
4177 void setInterpolating(
bool enabled);
4180 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
4181 QVariant *details = 0)
const;
4184 void updatePosition();
4186 QCPItemPosition *
const position;
4190 QPen mPen, mSelectedPen;
4191 QBrush mBrush, mSelectedBrush;
4196 bool mInterpolating;
4199 virtual void draw(QCPPainter *painter);
4202 QPen mainPen()
const;
4203 QBrush mainBrush()
const;
4206 class QCP_LIB_DECL QCPItemBracket :
public QCPAbstractItem {
4209 Q_PROPERTY(QPen pen READ pen WRITE setPen)
4210 Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
4211 Q_PROPERTY(
double length READ length WRITE setLength)
4212 Q_PROPERTY(BracketStyle style READ style WRITE setStyle)
4226 QCPItemBracket(QCustomPlot *parentPlot);
4227 virtual ~QCPItemBracket();
4230 QPen
pen()
const {
return mPen; }
4236 void setPen(
const QPen &pen);
4237 void setSelectedPen(
const QPen &pen);
4238 void setLength(
double length);
4242 virtual double selectTest(
const QPointF &pos,
bool onlySelectable,
4243 QVariant *details = 0)
const;
4245 QCPItemPosition *
const left;
4246 QCPItemPosition *
const right;
4247 QCPItemAnchor *
const center;
4252 QPen mPen, mSelectedPen;
4257 virtual void draw(QCPPainter *painter);
4258 virtual QPointF anchorPixelPoint(
int anchorId)
const;
4261 QPen mainPen()
const;
4264 #endif // QCUSTOMPLOT_H double whiskerWidth() const
Definition: qcustomplot.h:3367
ColorInterpolation
Definition: qcustomplot.h:2201
int iconTextPadding() const
Definition: qcustomplot.h:2549
Definition: qcustomplot.h:2635
bool isEmpty() const
Definition: qcustomplot.h:3454
QCPLineEnding tail() const
Definition: qcustomplot.h:3788
BracketStyle
Definition: qcustomplot.h:4215
Qt::TransformationMode transformationMode() const
Definition: qcustomplot.h:4064
int columnSpacing() const
Definition: qcustomplot.h:915
QColor selectedTickLabelColor() const
Definition: qcustomplot.h:1332
0x0001 Axis base line and tick marks
Definition: qcustomplot.h:127
bool visible() const
Definition: qcustomplot.h:537
QCustomPlot * parentPlot() const
Definition: qcustomplot.h:538
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups() const
Definition: qcustomplot.h:798
QMapIterator< double, QCPBarData > QCPBarDataMapIterator
Definition: qcustomplot.h:3238
bool autoSubTicks() const
Definition: qcustomplot.h:1298
Definition: qcustomplot.h:1763
EndingStyle
Definition: qcustomplot.h:1032
QCP::AntialiasedElements antialiasedElements() const
Definition: qcustomplot.h:1987
0x0100 Error bars
Definition: qcustomplot.h:146
0x00 no margin
Definition: qcustomplot.h:111
QVector< double > tickVector() const
Definition: qcustomplot.h:1312
Definition: qcustomplot.h:1570
QPen selectedPen() const
Definition: qcustomplot.h:4231
QList< double > rowStretchFactors() const
Definition: qcustomplot.h:914
Qt::AspectRatioMode backgroundScaledMode() const
Definition: qcustomplot.h:2315
int top() const
Definition: qcustomplot.h:2356
Definition: qcustomplot.h:215
double median() const
Definition: qcustomplot.h:3362
QCPBars * barAbove() const
Definition: qcustomplot.h:3277
QSize maximumSize() const
Definition: qcustomplot.h:794
virtual int calculateAutoMargin(QCP::MarginSide side)
QFont labelFont() const
Definition: qcustomplot.h:1322
Definition: qcustomplot.h:856
QCPGraph * channelFillGraph() const
Definition: qcustomplot.h:2901
double graphKey() const
Definition: qcustomplot.h:4165
QCPColorGradient gradient() const
Definition: qcustomplot.h:3496
bool inverted() const
Definition: qcustomplot.h:1064
QPixmap pixmap() const
Definition: qcustomplot.h:4061
Definition: qcustomplot.h:1971
PainterModes modes() const
Definition: qcustomplot.h:448
Qt::Alignment positionAlignment() const
Definition: qcustomplot.h:3910
QMapIterator< double, QCPData > QCPDataMapIterator
Definition: qcustomplot.h:2830
QBrush selectedBrush() const
Definition: qcustomplot.h:3906
double maximum() const
Definition: qcustomplot.h:3364
QMap< double, QCPBarData > QCPBarDataMap
Definition: qcustomplot.h:3237
QPen selectedTickPen() const
Definition: qcustomplot.h:1335
bool antialiasedFill() const
Definition: qcustomplot.h:1620
bool clipToAxisRect() const
Definition: qcustomplot.h:1862
0xFF all margins
Definition: qcustomplot.h:109
ScaleType scaleType() const
Definition: qcustomplot.h:1290
QCP::MarginSides autoMargins() const
Definition: qcustomplot.h:792
QPen selectedPen() const
Definition: qcustomplot.h:3741
Definition: qcustomplot.h:148
QString text() const
Definition: qcustomplot.h:3909
QRect axisSelectionBox() const
Definition: qcustomplot.h:1532
bool subGridVisible() const
Definition: qcustomplot.h:1103
bool backgroundScaled() const
Definition: qcustomplot.h:2314
bool antialiasing() const
Definition: qcustomplot.h:447
QPen selectedPen() const
Definition: qcustomplot.h:4159
LineStyle
Definition: qcustomplot.h:2854
AnchorIndex
Definition: qcustomplot.h:4092
QFont selectedTickLabelFont() const
Definition: qcustomplot.h:1330
QFont font() const
Definition: qcustomplot.h:3907
double rotation() const
Definition: qcustomplot.h:3912
0x08 bottom margin
Definition: qcustomplot.h:107
double width() const
Definition: qcustomplot.h:3272
QCPAxis * valueAxis() const
Definition: qcustomplot.h:1628
bool antialiasedSubGrid() const
Definition: qcustomplot.h:1104
QPen basePen() const
Definition: qcustomplot.h:1319
Definition: qcustomplot.h:94
virtual void mouseMoveEvent(QMouseEvent *event)
Definition: qcustomplot.h:836
QPen pen() const
Definition: qcustomplot.h:1623
Qt::Alignment textAlignment() const
Definition: qcustomplot.h:3911
QColor selectedTextColor() const
Definition: qcustomplot.h:2432
QPen errorPen() const
Definition: qcustomplot.h:2898
int index() const
Definition: qcustomplot.h:496
QCPScatterStyle outlierStyle() const
Definition: qcustomplot.h:3371
bool contains(QCPBars *bars) const
Definition: qcustomplot.h:3196
ScatterShape shape() const
Definition: qcustomplot.h:379
0x04 top margin
Definition: qcustomplot.h:105
const QCPRange operator+(const QCPRange &range, double value)
Definition: qcustomplot.h:675
QCPBarsGroup * barsGroup() const
Definition: qcustomplot.h:3274
InsetPlacement
Definition: qcustomplot.h:969
QCPLayerable * parentLayerable() const
Definition: qcustomplot.h:539
QPen selectedPen() const
Definition: qcustomplot.h:1624
QCPScatterStyle scatterStyle() const
Definition: qcustomplot.h:2896
QColor selectedColor() const
Definition: qcustomplot.h:3902
SpacingType spacingType() const
Definition: qcustomplot.h:3183
QColor labelColor() const
Definition: qcustomplot.h:1323
bool tightBoundary() const
Definition: qcustomplot.h:3495
Definition: qcustomplot.h:2708
QPen pen() const
Definition: qcustomplot.h:3830
QPen whiskerBarPen() const
Definition: qcustomplot.h:3369
bool selectable() const
Definition: qcustomplot.h:2659
bool selected() const
Definition: qcustomplot.h:2434
0x0000 No elements
Definition: qcustomplot.h:156
QPen subGridPen() const
Definition: qcustomplot.h:1107
Definition: qcustomplot.h:305
QPainterPath customPath() const
Definition: qcustomplot.h:383
ColorInterpolation colorInterpolation() const
Definition: qcustomplot.h:2265
QMutableMapIterator< double, QCPFinancialData > QCPFinancialDataMutableMapIterator
Definition: qcustomplot.h:3574
QRect outerRect() const
Definition: qcustomplot.h:789
bool errorBarSkipSymbol() const
Definition: qcustomplot.h:2900
QCPMarginGroup * marginGroup(QCP::MarginSide side) const
Definition: qcustomplot.h:795
QList< QCPLayoutElement * > elements(QCP::MarginSide side) const
Definition: qcustomplot.h:733
QCPAxis::ScaleType dataScaleType() const
Definition: qcustomplot.h:2755
bool selected() const
Definition: qcustomplot.h:2660
QPen selectedBorderPen() const
Definition: qcustomplot.h:2553
QVector< QString > tickVectorLabels() const
Definition: qcustomplot.h:1313
QString name() const
Definition: qcustomplot.h:1619
QString text() const
Definition: qcustomplot.h:2654
QBrush selectedBrush() const
Definition: qcustomplot.h:3996
bool backgroundScaled() const
Definition: qcustomplot.h:1982
QCPRange keyRange() const
Definition: qcustomplot.h:3434
virtual void simplify()
Definition: qcustomplot.h:996
bool ticks() const
Definition: qcustomplot.h:1299
QMap< double, QCPFinancialData > QCPFinancialDataMap
Definition: qcustomplot.h:3571
bool autoTicks() const
Definition: qcustomplot.h:1294
QVector< double > outliers() const
Definition: qcustomplot.h:3365
double upper
Definition: qcustomplot.h:595
RefreshPriority
Definition: qcustomplot.h:1963
QCPGraph * graph() const
Definition: qcustomplot.h:4164
QCPItemAnchor * parentAnchorX() const
Definition: qcustomplot.h:1806
QBrush selectedBrush() const
Definition: qcustomplot.h:4161
bool visible() const
Definition: qcustomplot.h:498
AxisType axisType() const
Definition: qcustomplot.h:1288
QCPLayer * layer() const
Definition: qcustomplot.h:540
SignDomain
Definition: qcustomplot.h:1667
QCPItemAnchor * parentAnchorY() const
Definition: qcustomplot.h:1807
double lower
Definition: qcustomplot.h:595
int subTickCount() const
Definition: qcustomplot.h:1316
Definition: qcustomplot.h:480
QPoint bottomRight() const
Definition: qcustomplot.h:2364
0x000 No hints are set
Definition: qcustomplot.h:167
QPen whiskerPen() const
Definition: qcustomplot.h:3368
Definition: qcustomplot.h:204
QPen selectedPen() const
Definition: qcustomplot.h:3904
QPen pen() const
Definition: qcustomplot.h:3697
Definition: qcustomplot.h:221
QRect viewport() const
Definition: qcustomplot.h:1980
QFont selectedFont() const
Definition: qcustomplot.h:2556
The positive sign domain, i.e. numbers greater than zero.
Definition: qcustomplot.h:212
void drawLine(const QPointF &p1, const QPointF &p2)
Definition: qcustomplot.h:461
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const
Definition: qcustomplot.h:842
double lowerQuartile() const
Definition: qcustomplot.h:3361
virtual QCPItemPosition * toQCPItemPosition()
Definition: qcustomplot.h:1745
0x0020 Main lines of plottables
Definition: qcustomplot.h:137
double value() const
Definition: qcustomplot.h:1809
#define QCP_LIB_DECL
Definition: qcustomplot.h:87
virtual void draw(QCPPainter *painter)
Definition: qcustomplot.h:845
TracerStyle style() const
Definition: qcustomplot.h:4163
int autoTickCount() const
Definition: qcustomplot.h:1295
QBrush brushPositive() const
Definition: qcustomplot.h:3608
QString label() const
Definition: qcustomplot.h:1324
double length() const
Definition: qcustomplot.h:4232
QPoint bottomLeft() const
Definition: qcustomplot.h:2363
Definition: qcustomplot.h:1523
QPen penPositive() const
Definition: qcustomplot.h:3610
ScatterShape
Definition: qcustomplot.h:317
bool selectable() const
Definition: qcustomplot.h:1629
AntialiasedElement
Definition: qcustomplot.h:126
Definition: qcustomplot.h:183
0x01 left margin
Definition: qcustomplot.h:101
QMutableMapIterator< double, QCPData > QCPDataMutableMapIterator
Definition: qcustomplot.h:2831
int numberPrecision() const
Definition: qcustomplot.h:1310
QCPRange dataRange() const
Definition: qcustomplot.h:3492
QCPRange & operator-=(const double &value)
Definition: qcustomplot.h:610
QPen pen() const
Definition: qcustomplot.h:4230
ErrorType errorType() const
Definition: qcustomplot.h:2897
QBrush brush() const
Definition: qcustomplot.h:381
int left() const
Definition: qcustomplot.h:2354
AnchorIndex
Definition: qcustomplot.h:3855
QPen pen() const
Definition: qcustomplot.h:3740
QPen pen() const
Definition: qcustomplot.h:4067
const QCPRange operator*(const QCPRange &range, double value)
Definition: qcustomplot.h:702
QCP::AntialiasedElements notAntialiasedElements() const
Definition: qcustomplot.h:1990
QSize size() const
Definition: qcustomplot.h:2360
Definition: qcustomplot.h:1925
QCPAxis::AxisType type() const
Definition: qcustomplot.h:2753
LabelSide
Definition: qcustomplot.h:1248
QFont selectedFont() const
Definition: qcustomplot.h:2657
QCPDataMap * data() const
Definition: qcustomplot.h:2894
QSize iconSize() const
Definition: qcustomplot.h:2548
QBrush brush() const
Definition: qcustomplot.h:3995
Qt::AspectRatioMode aspectRatioMode() const
Definition: qcustomplot.h:4063
QCPGrid * grid() const
Definition: qcustomplot.h:1339
QMapIterator< double, QCPCurveData > QCPCurveDataMapIterator
Definition: qcustomplot.h:3054
virtual void update(UpdatePhase phase)
double width() const
Definition: qcustomplot.h:1062
QString name() const
Definition: qcustomplot.h:495
QString dateTimeFormat() const
Definition: qcustomplot.h:1307
QCPRange dataRange() const
Definition: qcustomplot.h:2754
bool selectable() const
Definition: qcustomplot.h:1864
QRect rect() const
Definition: qcustomplot.h:788
QPen selectedSubTickPen() const
Definition: qcustomplot.h:1336
Qt::Orientations rangeDrag() const
Definition: qcustomplot.h:2318
QMargins minimumMargins() const
Definition: qcustomplot.h:791
int getMarginValue(const QMargins &margins, QCP::MarginSide side)
Definition: qcustomplot.h:282
QList< QCPItemAnchor * > anchors() const
Definition: qcustomplot.h:1879
SelectablePart
Definition: qcustomplot.h:1271
Definition: qcustomplot.h:2500
virtual void mouseReleaseEvent(QMouseEvent *event)
Definition: qcustomplot.h:837
double key() const
Definition: qcustomplot.h:3359
QList< QCPBars * > bars() const
Definition: qcustomplot.h:3191
QCPColorScale * colorScale() const
Definition: qcustomplot.h:3497
void setMarginValue(QMargins &margins, QCP::MarginSide side, int value)
Definition: qcustomplot.h:253
Qt::Orientations rangeZoom() const
Definition: qcustomplot.h:2319
SelectableParts selectableParts() const
Definition: qcustomplot.h:1329
QCPLayoutGrid * plotLayout() const
Definition: qcustomplot.h:1986
QCPAbstractPlottable * plottable()
Definition: qcustomplot.h:2484
double errorBarSize() const
Definition: qcustomplot.h:2899
Qt::Orientation orientation() const
Definition: qcustomplot.h:1404
QList< QCPItemPosition * > positions() const
Definition: qcustomplot.h:1878
Definition: qcustomplot.h:414
Definition: qcustomplot.h:755
double width() const
Definition: qcustomplot.h:3366
bool isNone() const
Definition: qcustomplot.h:394
bool autoAddPlottableToLegend() const
Definition: qcustomplot.h:1993
PositionType typeY() const
Definition: qcustomplot.h:1804
QColor textColor() const
Definition: qcustomplot.h:2656
EndingStyle style() const
Definition: qcustomplot.h:1061
QCPAxis * keyAxis() const
Definition: qcustomplot.h:1811
ChartStyle chartStyle() const
Definition: qcustomplot.h:3605
Definition: qcustomplot.h:2297
AnchorIndex
Definition: qcustomplot.h:4251
QPen pen() const
Definition: qcustomplot.h:3785
void rescaleKeyAxis(bool onlyEnlarge=false) const
bool adaptiveSampling() const
Definition: qcustomplot.h:2902
Both sign domains, including zero, i.e. all numbers.
Definition: qcustomplot.h:210
Definition: qcustomplot.h:2732
int keySize() const
Definition: qcustomplot.h:3432
QCPLineEnding head() const
Definition: qcustomplot.h:3742
bool operator!=(const QCPRange &other) const
Definition: qcustomplot.h:603
bool operator==(const QCPRange &other) const
Definition: qcustomplot.h:600
QCPLineEnding head() const
Definition: qcustomplot.h:3787
QPen pen() const
Definition: qcustomplot.h:3993
QList< double > columnStretchFactors() const
Definition: qcustomplot.h:913
Qt::KeyboardModifier multiSelectModifier() const
Definition: qcustomplot.h:1998
LayerInsertMode
Definition: qcustomplot.h:1950
QPen selectedPen() const
Definition: qcustomplot.h:3698
Definition: qcustomplot.h:2410
SelectableParts selectableParts() const
Definition: qcustomplot.h:2551
virtual void mouseMoveEvent(QMouseEvent *event)
QCPBars * barBelow() const
Definition: qcustomplot.h:3276
int bottom() const
Definition: qcustomplot.h:2357
QBrush selectedBrush() const
Definition: qcustomplot.h:3833
QCPRange & operator*=(const double &value)
Definition: qcustomplot.h:615
0x0010 Legend items
Definition: qcustomplot.h:135
QPen selectedPen() const
Definition: qcustomplot.h:3831
bool autoTickLabels() const
Definition: qcustomplot.h:1296
UpdatePhase
Definition: qcustomplot.h:772
QCPRange & operator/=(const double &value)
Definition: qcustomplot.h:620
void rescaleValueAxis(bool onlyEnlarge=false) const
PositionType
Definition: qcustomplot.h:1771
double width() const
Definition: qcustomplot.h:3606
QCPRange & operator+=(const double &value)
Definition: qcustomplot.h:605
Definition: qcustomplot.h:3058
int rowSpacing() const
Definition: qcustomplot.h:916
0xFFFF All elements
Definition: qcustomplot.h:154
Definition: qcustomplot.h:2478
bool isPenDefined() const
Definition: qcustomplot.h:395
QCustomPlot * parentPlot() const
Definition: qcustomplot.h:494
AnchorIndex
Definition: qcustomplot.h:3945
bool selected() const
Definition: qcustomplot.h:1630
const QCP::Interactions interactions() const
Definition: qcustomplot.h:1994
QPen selectedPen() const
Definition: qcustomplot.h:4068
QFont font() const
Definition: qcustomplot.h:2655
WidthType widthType() const
Definition: qcustomplot.h:3273
Definition: qcustomplot.h:208
bool isInvalidData(double value)
Definition: qcustomplot.h:234
QPen medianPen() const
Definition: qcustomplot.h:3370
Definition: qcustomplot.h:1137
QPen borderPen() const
Definition: qcustomplot.h:2544
TracerStyle
Definition: qcustomplot.h:4141
void rescaleAxes(bool onlyEnlarge=false) const
QMargins margins() const
Definition: qcustomplot.h:790
0x0040 Main lines of items
Definition: qcustomplot.h:141
Qt::TimeSpec dateTimeSpec() const
Definition: qcustomplot.h:1308
PositionType type() const
Definition: qcustomplot.h:1802
QMutableMapIterator< double, QCPCurveData > QCPCurveDataMutableMapIterator
Definition: qcustomplot.h:3056
QRect tickLabelsSelectionBox() const
Definition: qcustomplot.h:1533
QPixmap background() const
Definition: qcustomplot.h:2313
ErrorType
Definition: qcustomplot.h:2878
SelectableParts selectedParts() const
Definition: qcustomplot.h:1328
QCPLegend * parentLegend() const
Definition: qcustomplot.h:2428
PositionType typeX() const
Definition: qcustomplot.h:1803
GradientPreset
Definition: qcustomplot.h:2214
QCPAxis * keyAxis() const
Definition: qcustomplot.h:1627
double length() const
Definition: qcustomplot.h:1063
QPen pen() const
Definition: qcustomplot.h:4158
int size() const
Definition: qcustomplot.h:3193
QPen pen() const
Definition: qcustomplot.h:380
0x0400 Zero-lines, see QCPGrid::setZeroLinePen
Definition: qcustomplot.h:151
bool interpolating() const
Definition: qcustomplot.h:4166
Definition: qcustomplot.h:212
Definition: qcustomplot.h:196
LabelType
Definition: qcustomplot.h:1233
virtual void mouseReleaseEvent(QMouseEvent *event)
QFont selectedFont() const
Definition: qcustomplot.h:2431
0x0008 Legend box
Definition: qcustomplot.h:133
Q_DECLARE_TYPEINFO(QCPScatterStyle, Q_MOVABLE_TYPE)
QRect labelSelectionBox() const
Definition: qcustomplot.h:1534
AnchorIndex
Definition: qcustomplot.h:4021
bool antialiasedZeroLine() const
Definition: qcustomplot.h:1105
QFont selectedLabelFont() const
Definition: qcustomplot.h:1331
QPen pen() const
Definition: qcustomplot.h:1106
double tickStep() const
Definition: qcustomplot.h:1311
bool interpolate() const
Definition: qcustomplot.h:3494
QMapIterator< double, QCPFinancialData > QCPFinancialDataMapIterator
Definition: qcustomplot.h:3572
Definition: qcustomplot.h:1847
virtual void wheelEvent(QWheelEvent *event)
WidthType
Definition: qcustomplot.h:3258
QCPFinancialDataMap * data() const
Definition: qcustomplot.h:3604
0x0002 Grid lines
Definition: qcustomplot.h:129
QBrush brush() const
Definition: qcustomplot.h:3905
QPoint topLeft() const
Definition: qcustomplot.h:2361
QCPCurveDataMap * data() const
Definition: qcustomplot.h:3079
Definition: qcustomplot.h:169
bool selectable() const
Definition: qcustomplot.h:2433
Definition: qcustomplot.h:143
QCPColorGradient gradient() const
Definition: qcustomplot.h:2756
int width() const
Definition: qcustomplot.h:2358
double minimum() const
Definition: qcustomplot.h:3360
0x0004 Sub grid lines
Definition: qcustomplot.h:131
QList< QCPLayerable * > children() const
Definition: qcustomplot.h:497
bool operator!=(const QCPColorGradient &other) const
Definition: qcustomplot.h:2258
LineStyle lineStyle() const
Definition: qcustomplot.h:2895
QCPAxisRect * axisRect() const
Definition: qcustomplot.h:1289
QCPItemAnchor * parentAnchor() const
Definition: qcustomplot.h:1805
BracketStyle style() const
Definition: qcustomplot.h:4233
bool scaled() const
Definition: qcustomplot.h:4062
bool noAntialiasingOnDrag() const
Definition: qcustomplot.h:1996
Qt::AspectRatioMode backgroundScaledMode() const
Definition: qcustomplot.h:1983
virtual QCPItemPosition * toQCPItemPosition()
Definition: qcustomplot.h:1841
QString name() const
Definition: qcustomplot.h:1731
QCPScatterStyle scatterStyle() const
Definition: qcustomplot.h:3080
double key() const
Definition: qcustomplot.h:1808
QPen selectedBasePen() const
Definition: qcustomplot.h:1334
Definition: qcustomplot.h:218
QPen zeroLinePen() const
Definition: qcustomplot.h:1108
QMap< double, QCPCurveData > QCPCurveDataMap
Definition: qcustomplot.h:3053
QCPBarDataMap * data() const
Definition: qcustomplot.h:3278
double baseValue() const
Definition: qcustomplot.h:3275
virtual void mousePressEvent(QMouseEvent *event)
Definition: qcustomplot.h:835
int padding() const
Definition: qcustomplot.h:1326
QPen iconBorderPen() const
Definition: qcustomplot.h:2550
Definition: qcustomplot.h:3241
QColor textColor() const
Definition: qcustomplot.h:2430
AxisType
Definition: qcustomplot.h:1211
QFont tickLabelFont() const
Definition: qcustomplot.h:1303
QPen selectedIconBorderPen() const
Definition: qcustomplot.h:2554
QCPLayout * layout() const
Definition: qcustomplot.h:787
QCPLineEnding tail() const
Definition: qcustomplot.h:3743
QColor selectedTextColor() const
Definition: qcustomplot.h:2557
QPixmap background() const
Definition: qcustomplot.h:1981
int levelCount() const
Definition: qcustomplot.h:2263
QBrush brush() const
Definition: qcustomplot.h:1625
int valueSize() const
Definition: qcustomplot.h:3433
QPointF coords() const
Definition: qcustomplot.h:1810
QCPRange valueRange() const
Definition: qcustomplot.h:3435
QCP::PlottingHints plottingHints() const
Definition: qcustomplot.h:1997
virtual void mousePressEvent(QMouseEvent *event)
Definition: qcustomplot.h:522
QColor selectedTextColor() const
Definition: qcustomplot.h:2658
QMutableMapIterator< double, QCPBarData > QCPBarDataMutableMapIterator
Definition: qcustomplot.h:3239
QBrush brush() const
Definition: qcustomplot.h:2545
QColor color() const
Definition: qcustomplot.h:3901
SelectablePart
Definition: qcustomplot.h:2529
QPen selectedPen() const
Definition: qcustomplot.h:3786
QPoint topRight() const
Definition: qcustomplot.h:2362
ScaleType
Definition: qcustomplot.h:1259
bool antialiasedScatters() const
Definition: qcustomplot.h:1621
bool twoColored() const
Definition: qcustomplot.h:3607
QPen selectedPen() const
Definition: qcustomplot.h:3994
bool selected() const
Definition: qcustomplot.h:1865
QBrush selectedBrush() const
Definition: qcustomplot.h:2555
QPen tickPen() const
Definition: qcustomplot.h:1320
QFont font() const
Definition: qcustomplot.h:2429
Definition: qcustomplot.h:2833
int selectionTolerance() const
Definition: qcustomplot.h:1995
virtual void mouseDoubleClickEvent(QMouseEvent *event)
Definition: qcustomplot.h:838
int barWidth() const
Definition: qcustomplot.h:2758
QCPAxis * valueAxis() const
Definition: qcustomplot.h:1812
0x02 right margin
Definition: qcustomplot.h:103
The negative sign domain, i.e. numbers smaller than zero.
Definition: qcustomplot.h:208
const QCPRange operator/(const QCPRange &range, double value)
Definition: qcustomplot.h:720
bool autoTickStep() const
Definition: qcustomplot.h:1297
QCPLayoutInset * insetLayout() const
Definition: qcustomplot.h:2346
int height() const
Definition: qcustomplot.h:2359
QColor selectedLabelColor() const
Definition: qcustomplot.h:1333
QSize minimumSize() const
Definition: qcustomplot.h:793
Definition: qcustomplot.h:1595
QBrush brush() const
Definition: qcustomplot.h:4160
QPen penNegative() const
Definition: qcustomplot.h:3611
SpacingType
Definition: qcustomplot.h:3170
QCPAxis * axis() const
Definition: qcustomplot.h:2752
bool tickLabels() const
Definition: qcustomplot.h:1300
bool antialiased() const
Definition: qcustomplot.h:541
ChartStyle
Definition: qcustomplot.h:3593
PainterMode
Definition: qcustomplot.h:422
QColor textColor() const
Definition: qcustomplot.h:2547
static Qt::Orientation orientation(AxisType type)
Definition: qcustomplot.h:1417
int right() const
Definition: qcustomplot.h:2355
QPoint center() const
Definition: qcustomplot.h:2365
Definition: qcustomplot.h:200
LineStyle lineStyle() const
Definition: qcustomplot.h:3081
Definition: qcustomplot.h:1566
PlottingHint
Definition: qcustomplot.h:166
MarginSide
Definition: qcustomplot.h:100
QCPAxis::ScaleType dataScaleType() const
Definition: qcustomplot.h:3493
QMargins padding() const
Definition: qcustomplot.h:3913
QPen pen() const
Definition: qcustomplot.h:3903
Definition: qcustomplot.h:3576
Definition: qcustomplot.h:175
bool antialiasedErrorBars() const
Definition: qcustomplot.h:1622
QPixmap pixmap() const
Definition: qcustomplot.h:382
bool periodic() const
Definition: qcustomplot.h:2266
Definition: qcustomplot.h:3473
QBrush brushNegative() const
Definition: qcustomplot.h:3609
const QCPRange operator-(const QCPRange &range, double value)
Definition: qcustomplot.h:693
QCPColorMapData * data() const
Definition: qcustomplot.h:3491
QBrush selectedBrush() const
Definition: qcustomplot.h:1626
QMap< double, QCPData > QCPDataMap
Definition: qcustomplot.h:2829
bool rangeReversed() const
Definition: qcustomplot.h:1293
double upperQuartile() const
Definition: qcustomplot.h:3363
double spacing() const
Definition: qcustomplot.h:3184
QBrush brush() const
Definition: qcustomplot.h:3832
double size() const
Definition: qcustomplot.h:378
virtual void wheelEvent(QWheelEvent *event)
Definition: qcustomplot.h:839
LineStyle
Definition: qcustomplot.h:3070
QFont font() const
Definition: qcustomplot.h:2546
LabelType tickLabelType() const
Definition: qcustomplot.h:1302
QMap< double, QColor > colorStops() const
Definition: qcustomplot.h:2264
const QCPRange range() const
Definition: qcustomplot.h:1292
QColor tickLabelColor() const
Definition: qcustomplot.h:1304
QCPRange dataBounds() const
Definition: qcustomplot.h:3436
QPen subTickPen() const
Definition: qcustomplot.h:1321
QFont selectedFont() const
Definition: qcustomplot.h:3908
double size() const
Definition: qcustomplot.h:4162
double scaleLogBase() const
Definition: qcustomplot.h:1291
Interaction
Definition: qcustomplot.h:195
bool isEmpty() const
Definition: qcustomplot.h:3194