산점도 만들기
참고: 이 내용은 '위젯 갤러리를 활용한 차트' 예제의 일부입니다.

산점도를 생성하려면 QScatterSeries 인스턴스가 필요합니다. 여기서는 산점도 시리즈 인스턴스를 생성하고, 산점도의 윤곽선 유형과 너비를 설정합니다.
auto series0 = new QScatterSeries;
series0->setName("scatter1");
series0->setMarkerShape(QScatterSeries::MarkerShapeCircle);
series0->setMarkerSize(15.0);
auto series1 = new QScatterSeries;
series1->setName("scatter2");
series1->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
series1->setMarkerSize(20.0);
auto series2 = new QScatterSeries;
series2->setName("scatter3");
series2->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
series2->setMarkerSize(30.0);표시할 데이터를 추가합니다. append() 멤버 함수를 사용하거나 스트림 연산자를 사용할 수 있습니다.
series0->append(0, 6);
series0->append(2, 4);
series0->append(3, 8);
series0->append(7, 4);
series0->append(10, 5);
*series1 << QPointF(1, 1) << QPointF(3, 3) << QPointF(7, 6) << QPointF(8, 3) << QPointF(10, 2);
*series2 << QPointF(1, 5) << QPointF(4, 6) << QPointF(6, 3) << QPointF(9, 5);산점도 시리즈의 브러시를 이미지로 정의할 수 있습니다. 여기서는 QPainterPath 를 사용하여 만든 별 모양의 이미지를 사용합니다.
QPainterPath starPath;
starPath.moveTo(28, 15);
for (int i = 1; i < 5; ++i) {
starPath.lineTo(14 + 14 * qCos(0.8 * i * M_PI),
15 + 14 * qSin(0.8 * i * M_PI));
}
starPath.closeSubpath();
QImage star(30, 30, QImage::Format_ARGB32);
star.fill(Qt::transparent);
QPainter painter(&star);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(QRgb(0xf6a625));
painter.setBrush(painter.pen().color());
painter.drawPath(starPath);
series2->setBrush(star);
series2->setPen(QColor(Qt::transparent));마지막으로 앤티앨리어싱을 활성화하고, 차트 제목을 설정한 뒤, 산점도 시리즈를 차트에 추가합니다. 또한 차트 뷰만 표시되는 애플리케이션에서는 드롭 섀도우가 보기 좋지 않으므로 이를 비활성화합니다.
auto chart = new QChart;
chart->addSeries(series0);
chart->addSeries(series1);
chart->addSeries(series2);
chart->setTitle("Simple Scatter Chart");
chart->createDefaultAxes();
chart->setDropShadowEnabled(false);산점도 데이터를 범례 마커로 사용할 수도 있습니다.
chart->legend()->setMarkerShape(QLegend::MarkerShapeFromSeries);이제 차트를 표시할 준비가 되었습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.