首页| 论坛| 消息

标题:qwt replot以及曲线类相关的问题
作者:dwx1011
日期:2015-08-26 11:25
内容:

使用Qwt做一些图形的绘制。遇到两个问题:
问题一:因为在绘制曲线中,曲线的坐标是不停的发生变化,所以就需要不停的重绘该条曲线(setSample),问题是,在一个plot中可能会有上百条曲线,如果一旦使用plot->replot的时候,整个界面会非常卡顿,造成效率及其底下,能否只更新这一条曲线,而不影响其他曲线?
问题二:在一段曲线中,可能每个关键节点的颜色都不同,比如说:0,0 是red颜色,0,20就是绿色。该如何实现?
以上
在线等,非常感激。


#1 [fyzhuhui 08-27 09:15]
帮顶
#2 [kimtaikee 08-27 12:33]
好问题。
1. 我试着只放了几个曲线进去就已经不能分清哪个是哪个了,更何况几十上百个曲线,所以你还是想想把它们的数量减少些。
2. Qwt不支持曲线的分段着色,因为上色之后一气呵成绘制出曲线的,代码如下, 当然我做了不少修改.
void QwtPlotCurve::drawSeries( QPainter *painter,
const QwtScaleMap &xMap, const QwtScaleMap &yMap,
const QRectF &canvasRect, int from, int to ) const
{
const size_t numSamples = dataSize();
if ( !painter || numSamples 0 )
{
painter->save();
d_data->pen.setWidth(plot()->lineWidth());
painter->setPen( d_data->pen );
painter->setOpacity(plot()->lineOpacity());
/*
Qt 4.0.0 is slow when drawing lines, but it's even
slower when the painter has a brush. So we don't
set the brush before we really need it.
*/
drawCurve( painter, d_data->style, xMap, yMap, canvasRect, from, to );
painter->restore();
if ( d_data->symbol &&
( d_data->symbol->style() != QwtSym ..
#3 [tianwaimmm 03-28 18:43]
请问如何把横纵坐标的刻度线修改颜色呢?
#4 [eric_liu 02-02 11:17]
楼主,我用的qcustomplot实现了你提及的第二点,我这个曲线是动态的 ,绘制刷新率不是很好,比较头疼(闪有点晃眼)不知道怎么解决

回复 发表
主题 版块