-2
我想繪製一個熱圖,我有一個2D數組,我遵循這個答案:https://stackoverflow.com/a/32459287/2370139 除了我在C++中使用gnuplot,並且由於第一行和列是常規值而不是滴答,我刪除了「不均勻」。爲什麼我的熱圖空白(白色)?
Gnuplot gp;
gp << "set autoscale xfix \n";
gp << "set autoscale yfix \n";
gp << "set autoscale cbfix \n";
gp << "plot '-' matrix with image notitle\n";
gp.send2d(pmat);
gp.flush();
pmat是一個大小爲50 * 50的二維數組。它充滿了介於0和1之間的浮點值。 它的確繪製了一個完美的白色網格,問題是什麼?
注:在正常gnuplot的終端使用時與像
0.5 0.3 0.3
0.2 0.4 0.6
0.2 0.8 1
所以這個問題有一個文本文件來從我作爲C使用上述命令做工精細++ API
我不熟悉'gnuplot-iostream',但根據[this](https://github.com/dstahlke/gnuplot-iostream/wiki/Datatypes#1d-vs-2d-data),似乎'send2d'不以矩陣形式發送數組數據,而是以空格代表新行或列的一維列表。如果你用'gp <<「splot' - '用行notitle \ n」;'替換你的繪圖命令,會發生什麼? – user8153
感謝您的評論,它確實適用於該行,但它繪製了一個3D圖形,而我想要的是一個熱圖(在(x,y)處的顏色代表pmat [x] [y])。 – user2370139
您是否簡單地嘗試刪除'matrix'關鍵字,即僅使用'plot「 - 」with image'? – Christoph