ValueError("color kwarg must have one color per dataset")?

This problem is because you have defined tfirst_list as a N-dimensional array.
For example:

tfirst_list = [1, 2, 3, 4, 5, 6, 7, 8]        #works
tfirst_list = [[1, 2, 3, 4], [5, 6, 7, 8]]    #produces the Exception you have

If you are using N-dimensional data (N datasets), then the color keyword argument (color kwarg) must be also N-dimensional (one color per dataset). For example for the case above:

color = ['b', 'r']