-2
히트 맵을 그리기 위해 2 차원 배열이 있고이 대답을 따랐습니다. 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 인 2 차원 배열입니다. 0에서 1 사이의 부동 소수점 값으로 채워집니다. 완벽하게 흰색 격자를 그립니다. 문제는 무엇입니까?
참고 : C의 내 사용에서 오는
0.5 0.3 0.3
0.2 0.4 0.6
0.2 0.8 1
때문에 문제가 같은 텍스트 파일을 일반의 gnuplot 터미널에서 사용하는 경우 위의 명령이 제대로 작동 ++ API를
'gnuplot-iostream'에 익숙하지 않지만 [this] (https://github.com/dstahlke/gnuplot-iostream/wiki/Datatypes#1d-vs-2d-data)에 따르면 'send2d'는 행렬 형식으로 배열 데이터를 보내지 않고 새로운 행이나 열을 나타내는 공백이있는 1 차원 목록으로 보냅니다. 플롯 커맨드를'gp << '로 바꾼다면'- '줄을 notitle \ n ";'으로 바꿀 수 있습니다. – user8153
귀하의 의견을 주셔서 감사합니다, 그 라인과 함께 작동하지만 3D graph를 그리는 반면 heatmap은 (x, y의 색상은 pmat [x] [y]를 나타냅니다.) – user2370139
단순히'plot' - "with image' 만 사용하여'matrix' 키워드를 삭제하려 했습니까? – Christoph