Я просто пытаюсь имитировать следующий код Python в C ++, используя gnuplot:
H, x, y = np.histogram2d(xs, ys, bins=200)
X, Y = np.meshgrid(x[:-1], y[:-1], indexing='ij')
plt.pcolormesh(X, Y, H, cmap = "hot")
plt.colorbar()
plt.autoscale()
plt.show()
Мой код на С ++ уже имеет средства для генерации значений x, y и построения графика с использованием gnuplot. Я делал тепловые карты в c ++ / gnuplot раньше, но в тех случаях у меня были данные x, y, z для каждой точки в желаемом диапазоне графика. Какой эффективный способ сделать это, если у вас есть только разреженные данные?
gnuplot интерполирует сеточные данные с
set dgrid3d 200,200
# set pm3d + your options for the heat map
splot dataf
dgrid3d
есть несколько различных процедур интерполяции, проверьте help dgrid3d
, Я думаю, что вы хотите «box
«возможность просто скопировать ваши данные.