日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

利用QCustomePlot绘制热力图,瀑布图,频谱色图等

發(fā)布時間:2025/4/5 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用QCustomePlot绘制热力图,瀑布图,频谱色图等 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ?有一個問題l困擾了我很多天,就是如何在QT中實現(xiàn)跟MATALB中imagesc函數(shù)一樣能夠根據(jù)二維數(shù)組存儲的數(shù)據(jù)的大小自動繪制不同顏色的圖形,就如下圖所示的瀑布圖。

? ? ? ?由于自己是邊學邊做,沒有經過系統(tǒng)學習,很多不知道,一開始想自己手工擼代碼實現(xiàn),寫了大半天累的要死,后來突然搜索到兩篇關于瀑布圖的文章,最后學習了解了相關知識最后終于實現(xiàn)了自己想要的功能。?(所參考文章在最后)

先放部分代碼以及實現(xiàn)的功能,此部分代碼只是一個初步使用demo,功能后期完善再寫一個完善的

void MainWindow:: SetLofar_char()//顯示Lofar瀑布圖 {fp3 = ui->widget_lofar; //創(chuàng)建一個畫圖指針fp3->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom);//可拖拽+可滾輪縮放// fp3->axisRect()->insetLayout() ->setInsetAlignment(0,Qt::AlignRight|Qt::AlignTop); //圖例置于右上/*Qt::AlignLeft|Qt::AlignTop); //圖例置于左上Qt::AlignCenter|Qt::AlignTop);//圖例置于中上Qt::AlignRight|Qt::AlignTop);//圖例置于右上Qt::AlignLeft|Qt::AlignCenter);//圖例置于左中Qt::AlignCenter); //圖例置于正中Qt::AlignRight|Qt::AlignCenter);//圖例置于右中Qt::AlignLeft|Qt::AlignBottom);//圖例置于左下Qt::AlignCenter|Qt::AlignBottom);//圖例置于中下*/// fp3->legend->setVisible(true);//顯示圖例fp3->xAxis->setLabel("頻率/Hz(單位:*10^4)");//x軸顯示文字fp3->yAxis->setLabel("幅度/dB");//y軸顯示文字fp3->xAxis->setRange(0,2.5);//當前X軸顯示范圍fp3->yAxis->setRange(-5,5);//當前y軸顯示范圍/* //每條曲線都會獨占一個graph()fp3->addGraph();fp3->graph(0)->setPen(QPen(Qt::blue));//曲線顏色fp3->graph(0)->setBrush(QBrush(QColor(0,255,255,20)));//曲線與X軸包圍區(qū)的顏色//自動調整XY軸的范圍,以便顯示出graph(0)中所有的點//給第一個graph設置rescaleAxes(),后續(xù)所有graph都設置rescaleAxes(true)即可實現(xiàn)顯示所有曲線fp3->graph(0)->rescaleAxes();*///通過傳遞的軸的QCustomPlot進行注冊,簡潔理解QCPColorMap的數(shù)據(jù)為(x軸,y軸;顏色,值value)m_pColorMap = new QCPColorMap(fp3->xAxis,fp3->yAxis);m_pColorMap->data()->setSize(1024,50);//設置整個圖(x,y)點數(shù)m_pColorMap->data()->setRange(QCPRange(0,2.5),QCPRange(-5,5));//setRange是設置X軸以及Y軸的范圍//顏色范圍 == 色條/* m_pColorScale = new QCPColorScale(fp3);fp3->plotLayout()->addElement(0,1,m_pColorScale);//默認右側添加色彩圖m_pColorScale->setType(QCPAxis::atRight);m_pColorScale->setDataRange(QCPRange(0, 100));//顏色范圍對應的取值范圍data_maxColorBar這里為測量得到的最大值來代表顏色的最大值m_pColorScale->axis()->ticker()->setTickCount(6);m_pColorScale->axis()->setLabel("色彩");//色條的名// m_pColorMap->setColorScale(m_pColorScale); //熱圖連接色條m_pColorMap->setGradient(QCPColorGradient::gpCold);//設置默認漸進色變化(可在QCPColorGradient中查看)// QSharedPointer<QCPColorGradient> colorLayout(new QCPColorGradient);//生成顏色漸進變化對象QMap<double, QColor> color_layout;m_pColorGradient = new QCPColorGradient();//自定義的漸進色變化對象//m_pColorGradient->setColorStops(colorLayout);//QMap<double, QColor> color_layout為;顏*色*布局范圍(double取值為0,1)m_pColorMap->setGradient(*m_pColorGradient);//設置漸進色變化m_pColorMap->rescaleDataRange();QCPMarginGroup *marginGroup = new QCPMarginGroup(fp3);fp3->axisRect()->setMarginGroup(QCP::msBottom | QCP::msTop, marginGroup);m_pColorScale->setMarginGroup(QCP::msBottom | QCP::msTop, marginGroup);*/for(int x=0;x<=1024;x++){for(int y=0;y<50;y++){m_pColorMap->data()->setCell(x,y,qCos(x/10.0)+qSin(y/10.0));}}m_pColorMap->setGradient(QCPColorGradient::gpCold);//設置默認漸進色變化(可在QCPColorGradient中查看)m_pColorMap->rescaleDataRange(true);// 立即刷新圖像fp3->rescaleAxes();//自適應大小ui->widget_lofar->replot();}

? ? 最后實現(xiàn)的效果圖:

關于漸變色的不同樣子可以自己選擇設置

?m_pColorMap->setGradient(QCPColorGradient::gpCold);//設置默認漸進色變化(可在QCPColorGradient中查看)

m_pColorMap = new QCPColorMap(fp3->xAxis,fp3->yAxis);

這句代碼之后會在坐標軸上面出現(xiàn)這一坨黑乎乎的東西

//顏色范圍 == 色條

??? m_pColorScale = new QCPColorScale(fp3);

??? fp3->plotLayout()->addElement(0,1,m_pColorScale);//右側添加

?

這兩句是添加色條

?

?

?

?

按理說最后應該能實現(xiàn)根據(jù)點擊色條的顏色不同主窗口顏色變化,但是我沒有測試實現(xiàn),具體可以看參考文章1的代碼,如果有實現(xiàn)了可以交流下,我由于項目不需要就先跳過這部分。

這里主要應用的是QCustomPlot中的QCPColor相關的部分函數(shù)等,可以點進去查看

點進去可以在下面看到詳細的用法,下一篇文章我會再寫寫對于qcpcolormap里面手冊部分的翻譯

參考文章:

1:Qt——繪制瀑布圖/熱度圖

2:利用Hellocharts繪制頻譜瀑布圖(雨圖)

總結

以上是生活随笔為你收集整理的利用QCustomePlot绘制热力图,瀑布图,频谱色图等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 韩国欧美三级 | 女人私密又肥又大 | 肉视频在线观看 | www.色国产 | 国产精品8 | 亚洲天堂h| 久久久99久久 | 五月激情久久 | 男人日女人逼 | 91黄色影视 | 91看毛片 | 国产黄色大片在线观看 | 色91| 特黄三级又爽又粗又大 | 91视频地址 | 亚洲综合91 | 国产成人精品一区二 | 蜜桃99视频一区二区三区 | a√在线| 美女干b视频 | 亚洲av无码一区二区三区网址 | 97视频在线看 | 中文字幕自拍 | 日韩综合第一页 | 国产在线精品自拍 | 亚洲永久精品视频 | 一区二区日韩在线观看 | 小黄网站在线观看 | 欧美性大战久久久久久久 | 欧美又粗又长 | 国产熟妇另类久久久久 | 偷拍久久久 | 男生吃小头头的视频 | 丁香免费视频 | 亚洲人妻电影一区 | 免费高清毛片 | 床戏高潮做进去大尺度视频 | 中文文字幕一区二区三三 | 99re国产精品| 国产大片中文字幕在线观看 | 亚洲痴女| www.jizzcom | 女性私密整形视频 | a级片免费视频 | 久久成人综合 | 日韩欧美色图 | 亚洲国产精品久久久 | 熟女人妻一区二区三区免费看 | 日本xxxwww| 欧美成人午夜精品久久久 | free性娇小hd第一次 | 亚洲国产婷婷 | 我们的2018在线观看免费高清 | 日b在线观看| 伊人日本| 久草精品在线观看视频 | 懂色av蜜臀av粉嫩av分享 | 欧美精品v国产精品v日韩精品 | 中文字幕99 | 亚洲成人高清在线 | 国产良妇出轨视频在线观看 | 成人app在线| 欧美成人综合色 | 日韩精品一区二区av | 精品久久久久久久久久久国产字幕 | 高h调教冰块play男男双性文 | 91毛片在线观看 | 色在线免费视频 | 日本大胆人体视频 | 欧美一级免费大片 | 这里只有精品在线播放 | 天天爽一爽 | 国产三级久久久久 | 98超碰在线| 久久久精品视频在线观看 | 亚洲午夜电影网 | 51精产品一区一区三区 | 国产成人在线观看 | 欧美乱码视频 | 99国产精品久久久久久久 | 九九热最新网址 | 欧美日韩资源 | 女人被男人操 | 中文字幕无码日韩专区免费 | a级片免费播放 | 嫩草嫩草嫩草嫩草嫩草 | 免费看日韩av | 手机在线中文字幕 | 国产性在线| 欧美日韩中文字幕在线播放 | 日本一区二区在线观看视频 | 污导航在线 | 熟女高潮一区二区三区视频 | 禁断介护av| 午夜激情网址 | 午夜精品999 | 天天看片天天干 | 波多野结衣女同 | 国产a免费 |