是否可以为 QScatterSeries 中的每个点设置单独的标记颜色?

问题描述

This post 表明可以为 QScatterSeries 中的每个点设置单独的标记大小。每个点的单独标记颜色怎么样?

解决方法

圆圈是 QGraphicsEllipseItem,所以你可以投射它们,然后使用 setBrush 方法设置颜色:

for(int index= 0; index < series->count(); index++){
    QPointF p =  chart->mapToPosition(series->at(index),series);
    QGraphicsItem *it = view.itemAt(view.mapFromScene(p));
    it->setTransformOriginPoint(it->boundingRect().center());
    it->setScale(data[index].s);
    if(QGraphicsEllipseItem *ellipse = qgraphicsitem_cast(it)){
        QColor color = QColor::fromRgb(QRandomGenerator::global()->generate());;
        ellipse->setBrush(color);
    }
}

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...