QT chart如何重绘折线图

使用removeSeries删除上一个折线再添加新的折线图

chart->removeSeries(LineSeries);//删除上一个曲线
	LineSeries = new QSplineSeries();  //QSplineSeries 平滑曲线  QLineSeries折线
	QVector<QPointF> points;
	for (int i = 0; i < hdpj_filter.size(); i++)
	{
		points.append(QPointF(i, hdpj_filter[i]));
	}
	LineSeries->replace(points);
	chart->addSeries(LineSeries);//添加新的折线图

注:QPointF的数据类型是浮点型,数据包含两部分,横纵坐标

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt Chart是一个用于创建漂亮的图表和图形的开源工具包,它可以绘制多种图表类型,如线性图、散点图、饼图等。如果想要将某些点替换为图片,则需要以下几个步骤: 1. 加载图片文件:首先需要使用Qt内置的QImage类,或者其他第三方库,如OpenCV等,来加载要替换的图片文件。可以使用QPixmap将QImage转换为可以在Qt界面中显示的图像。 2. 构造替换点:要替换的点需要在Qt Chart中使用QScatterSeries进行绘图。可以使用QPointF类来构造点的坐标,并使用QVariant类来存储要替换的图片信息。 3. 绘制替换点:使用QChart类创建图表,并使用QScatterSeries来添加替换点。在添加点时,需要使用QChart的addSeries()函数,并设置点的样式、大小、颜色等属性。在替换点的样式中,可以设置为QPixmap,使得要替换的图片可以显示在替换点的位置上。 4. 打开图表:通过QChartView类将QChart添加到QWidget中,并显示在Qt界面中。 总之,要将Qt Chart中的点替换为图片,只需要将要替换的图片加载到Qt中,构造替换点,并使用QScatterSeries进行替换点的绘制,最后使用QChartView将图表显示出来即可。 ### 回答2: Qt Chart是Qt的图表库,可以用来绘制各种类型的图表,如条形图、饼图、散点图等。经常会遇到需要将点替换为图片的情况,比如在地图上显示各个地点的标志,或者在散点图上显示各个数据点的图标。 要在Qt Chart中将点替换为图片,首先需要创建一个QScatterSeries对象来表示散点图,并将每个点的图像设置为图片。可以使用QPixmap类加载一个图片文件,然后将其设置为每个散点的图标。 例如,下面的代码演示了如何将一个星型的图片作为每个散点的图标: ``` QScatterSeries *series = new QScatterSeries(); for(int i = 0; i < numDataPoints; ++i) { QPixmap pixmap(":/star.png"); series->append(QPointF(xValues[i], yValues[i]), pixmap); } QChart *chart = new QChart(); chart->addSeries(series); ``` 其中,`numDataPoints`是数据点的数量,`xValues`和`yValues`是对应的x和y坐标。`":/star.png"`是图片文件的路径,可以根据实际情况替换为其他图片。`append()`函数将每个坐标点和对应的图片添加到散点图中。 需要注意的是,如果每个图片都很大,可能会影响绘制的性能和速度。因此,可以在加载图片时缩小它们的大小,或者使用更小的图标。也可以尝试使用其他更高效的绘图库或技术来实现复杂的图表效果。 ### 回答3: 在Qt Chart中,可以通过继承QScatterSeries类来实现将点替换为图片的功能。 首先,我们需要准备好要替换的图片,可以使用QPixmap类创建或加载一张图片,如下所示: QPixmap pixmap("image.png"); 然后,在继承的类的构造函数中,需要调用setBrush函数来设置每个点的brush为对应的图片,如下所示: MyScatterSeries::MyScatterSeries(QObject *parent) : QScatterSeries(parent) { QPixmap pixmap("image.png"); QBrush brush(pixmap); setBrush(brush); } 最后,在调用此类的代码中,将该类对象添加到chart中即可,如下所示: MyScatterSeries *series = new MyScatterSeries(); series->append(0, 0); series->append(1, 1); chart->addSeries(series); 这样,我们就成功将点替换为了对应的图片。同时,也可以根据需要设置图片的大小和形状等参数,具体可参考Qt官方文档和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值