0

Using matplotlib, I would like to plot a temperature time series so that the line color changes with temperature. For example, for a temperature range between 9 to 30 deg, the line color changes from blue (9 deg) to red (30). Any ideas and suggestions would be appreciated.

Behnam
  • 501
  • 1
  • 5
  • 21

1 Answers1

1

You can use a scatter plot (don't use lines as they suggest values that were not measured) for this and assign colors to each point. Take this as an example:

import matplotlib.pyplot as plt
import numpy as np

t = np.linspace(0,10,10)
temperature = 21*np.sin(t)+9
colors = temperature 
plt.scatter(t,temperature,c=colors)
plt.show()

In this example I just used the temperature for colors, but you can change it, so it meets your expectations

user8408080
  • 2,428
  • 1
  • 10
  • 19
  • Thanks @brainfuck4d! I think this is a good suggestion for the time series with a high resolution, as it will look like a line. I think this would also work for my high-resolution time series. :) – Behnam Nov 02 '18 at 19:11
  • 1
    I think, if you explicitly want lines, there is also something called `LineCollection` in matplotlib; you may want to look into that. Else, please accept the answer, so others know, it's solved :) – user8408080 Nov 02 '18 at 19:16