Okay, this is a hack, but it looks like it works.
func _ready():
var data_array = [ 1.17, 2.05, 3.14 ]
var img = Image.new()
img.create(data_array.size(), 1, false, Image.FORMAT_RF)
img.lock()
for i in range(data_array.size()):
img.set_pixel(i, 0, Color(data_array[i], 0.0, 0.0))
img.unlock()
var texture = ImageTexture.new()
texture.create_from_image(img, 0)
# test to make sure it works
img.lock()
for i in range(data_array.size()):
print("pixel ", i, ": ", img.get_pixel(i, 0))
img.unlock()
print("texture width: ", texture.get_width(), ", height: ", texture.get_height())