weixin_38811149 2022-12-23 16:48 采纳率: 100%
浏览 34
已结题

如何使用qchart绘制自定义散点图

qchart散点图不能设置单个大小
现在需要用qchart画出大小不同的矩形散点图应该怎么实现呢,自定义一个新的散点类吗

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-24 11:21
    关注

    望采纳

    • Qt Charts 提供了一种叫做 ScatterSeries 的类来绘制散点图。它使用 QScatterDataItem 类来表示每个散点,其中包含了坐标信息以及一个可选的大小属性。你可以使用 QScatterDataItem::setSize() 函数来为每个散点设置不同的大小。
    • 下面代码在 QChart 中创建一个散点图,并使用 QScatterDataItem 类来设置散点的大小:
    #include <QtCharts/QScatterSeries>
    #include <QtCharts/QChart>
    #include <QtCharts/QChartView>
    #include <QtCharts/QScatterDataItem>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        // 创建散点图序列
        QScatterSeries *series = new QScatterSeries();
    
        // 向散点图序列中添加散点
        series->append(0, 0);
        series->append(2, 4);
        series->append(3, 3);
        series->append(7, 7);
        series->append(10, 10);
    
        // 设置每个散点的大小
        QScatterDataItem *item = series->dataProxy()->itemAt(0);
        item->setSize(10);
    
        item = series->dataProxy()->itemAt(1);
        item->setSize(20);
    
        item = series->dataProxy()->itemAt(2);
        item->setSize(30);
    
        item = series->dataProxy()->itemAt(3);
        item->setSize(40);
    
        item = series->dataProxy()->itemAt(4);
        item->setSize(50);
    
        // 创建图表
        QChart *chart = new QChart();
        chart->addSeries(series);
        chart->createDefaultAxes();
        chart->setTitle("Simple scatterchart example");
    
        // 创建图表视图
        QChartView *chartView = new QChartView(chart);
        chartView->setRenderHint(QPainter::Antialiasing);
        chartView->resize(400, 300);
        chartView->show();
    
        return a.exec();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分