1

I need to plot line plot that has different colors. I create special df column 'color' that contains for each point appropriate color.

I already found the solution here:

python/matplotlib - multicolor line

And take the approach from the above question. First, it was working when I use index but now I need to plot it vs other column and I can not appropriately handle the colors. It is all the time colores only with one color.

I use this code for setting colors, but it color line with one color that is the last in the column 'color'. And also create a legend that I don't understand how to delete from the plot.

for color2, start, end in gen_repeating(df2['color']):
    print(start, end)
    if start > 0: # make sure lines connect
       start -= 1
    idx = df2.index[start:end+1]
    x2 = idx
    y2 = df2.loc[idx, 'age_gps_data'].tolist()


   df2.plot(x='river_km', y='age_gps_data', color=color2, ax=ax[1])

   ax[1].xaxis.set_major_locator(plt.MaxNLocator(5))
   plt.setp(ax[1].get_xticklabels())

I would appreciate any help. How can I set these colors to achieve different color in one line? And don't have legend on the plot.

0 Answers0