Python 使用dataframe列作为带有matplotlib的图形线的颜色

Python 使用dataframe列作为带有matplotlib的图形线的颜色,python,pandas,matplotlib,Python,Pandas,Matplotlib,我画了一张这样的图: p1=ax1.plot(df['timestamp'], df['break_even'], color='blue', zorder = 0) 但我希望该行根据另一列更改颜色: p1=ax1.plot(df['timestamp'], df['break_even'], color=df['trade_color'], zorder = 0) 这行不通,我得到: ValueError: Invalid RGBA argument: 0 red 1

我画了一张这样的图:

p1=ax1.plot(df['timestamp'], df['break_even'], color='blue', zorder = 0)
但我希望该行根据另一列更改颜色:

p1=ax1.plot(df['timestamp'], df['break_even'], color=df['trade_color'], zorder = 0)
这行不通,我得到:

ValueError: Invalid RGBA argument: 0           red
1         green
2           red
3           red
4         green
          ...  
如何做到这一点

这是一个要测试的示例:

data = [[1, 10, 'red'], [2, 15, 'green'], [3, 14, 'blue']] 
df = pd.DataFrame(data, columns = ['x', 'y', 'color'])
fig, ax = plt.subplots()
ax.plot(df['x'], df['y'], color='darkorange', zorder = 0)
这是可行的,但是:

ax.plot(df['x'], df['y'], color=df['color'], zorder = 0)

不会。如何使每条线段使用所需的颜色?我只有两种颜色,如果有区别的话

每次只需用您想要的颜色打印数据帧的一部分:

作为pd进口熊猫 将matplotlib.pyplot作为plt导入 数据=[[1,10,'红色'],[2,15,'绿色'],[3,14,'蓝色']] df=pd.DataFramedata,列=['x','y','color'] 图,ax=plt子批次 对于df.index中的i: ' 每次获取两行,每行有一个点x,y 两点可以画一条线,使用第一行定义的颜色 ' partial=df.iloc[i:i+2,:] ax.plotpartial['x'],partial['y'],color=partial['color'].iloc[0],zorder=0 节目
@anky,我添加了一个可以运行的示例