QT 三维柱状图中,改变第一行第一列的柱子颜色为红色,其它柱子颜色不变
时间: 2023-05-21 20:04:42 浏览: 143
可以通过以下代码改变柱状图中第一行第一列柱子的颜色为红色,其它柱子颜色不变:
QBarSet *set = new QBarSet("First Column");
*set << 1 << 2 << 3 << 4;
set->setColor(Qt::red);
相关问题
QT 三维柱状图中,第一行第一列的柱子颜色设置为红色,其它柱子颜色设置为蓝色
在 QT 三维柱状图中,可以通过代码设置柱子的颜色。以下是一个例子:
QBar3DSeries *series = new QBar3DSeries;
for (int i = 0; i < rows; i++) {
QVector<QBarDataItem> rowValues;
for (int j = 0; j < columns; j++) {
QBarDataItem value = QBarDataItem(data[i][j]);
if (i == 0 && j == 0) {
// 第一行第一列的柱子颜色为红色
value.setColor(Qt::red);
}
else {
// 其它柱子颜色为蓝色
value.setColor(Qt::blue);
}
rowValues << value;
}
series->dataProxy()->addRow(rowValues);
}
这段代码中,我们首先创建了一个 QBar3DSeries 对象,然后根据数据设置每个柱子的颜色。如果当前柱子是第一行第一列的柱子,就将其颜色设置为红色,否则将其颜色设置为蓝色。最后添加每一行的数据到 QBar3DSeries 中即可。
QT设置三维柱状图单根柱子颜色
您可以使用以下代码来设置QT中三维柱状图的单根柱子颜色:
Q3DSurface *graph = new Q3DSurface();
QSurface3DSeries *series = new QSurface3DSeries();
QSurfaceDataArray *dataArray = new QSurfaceDataArray();
QSurfaceDataRow *dataRow = new QSurfaceDataRow();
*dataRow << QVector3D(0, 1, 5) << QVector3D(1, 2, 6) << QVector3D(2, 3, 7) << QVector3D(3, 4, 8);
dataArray->append(dataRow);
series->dataProxy()->resetArray(dataArray);
graph->addSeries(series);
QLinearGradient linearGradient(QPointF(0, 0), QPointF(0, 1));
linearGradient.setColorAt(0.0f, QColor::fromRgb(255, 0, 0));
linearGradient.setColorAt(1.0f, QColor::fromRgb(0, 0, 255));
series->setBaseGradient(linearGradient);
series->setColorStyle(Q3DTheme::ColorStyleRangeGradient);
其中,"QColor::fromRgb(255, 0, 0)",和“QColor::fromRgb(0, 0, 255)”分别代表起始和结束的颜色,你可以根据你的需要,修改这些颜色。
阅读全文