Plot the difference between two stream/data

I have a random data like this:

The query that I used:

data1 = from(bucket: "testBucket")
  |> range(start: -3h)
  |> ...
  |> yield(name: "data1 ")

data2 = from(bucket: "testBucket")
  |> range(start: -3h)
  |> ...
  |> timeShift(duration: 1h)
  |> yield(name: "data2 ")

How to get and plot the difference between these stream. Basically I want something like this:

data1 - data2

Thanks !!