Matplotlib >1 线型,同一线,每线不同颜色
Matplotlib >1 Line Style, Same Line, Different Colors per Line
给定以下数据框和折线图:
import matplotlib.pyplot as plt
from cycler import cycler
import numpy as np
fig, ax=plt.subplots(1)
d=pd.DataFrame({'a':[1,2,3,4],
'b':[2,3,4,5],
'c':[3,4,5,6]})
colors=['r','g','b']
ax.set_prop_cycle(cycler('color', [colors]))
ax.plot(d[:3],'-ko',d[2:],'--ko')
plt.show()
您会注意到我试图为每行分配一种颜色,但它不起作用。我还尝试在 ax.plot 中使用颜色参数。
看来这应该是直截了当的。
在此先感谢您对此提供的任何帮助。
您的代码中有两个问题。
'-ko'
和 '--ko'
中的 'k'
将颜色设置为黑色,因此我们需要删除
colors
已经是一个列表,但是您在对 set_prop_cycle 的调用中再次将其放在方括号内,从而使其成为嵌套列表:[['r','g','b']]
。删除那里的方括号,一切正常:ax.set_prop_cycle(cycler('color', colors))
因此,您的代码将如下所示:
import matplotlib.pyplot as plt
import pandas as pd
from cycler import cycler
import numpy as np
fig, ax=plt.subplots(1)
d=pd.DataFrame({'a':[1,2,3,4],
'b':[2,3,4,5],
'c':[3,4,5,6]})
colors=['r','g','b']
ax.set_prop_cycle(cycler('color', colors))
ax.plot(d[:3],'-o',d[2:],'--o')
plt.show()
给定以下数据框和折线图:
import matplotlib.pyplot as plt
from cycler import cycler
import numpy as np
fig, ax=plt.subplots(1)
d=pd.DataFrame({'a':[1,2,3,4],
'b':[2,3,4,5],
'c':[3,4,5,6]})
colors=['r','g','b']
ax.set_prop_cycle(cycler('color', [colors]))
ax.plot(d[:3],'-ko',d[2:],'--ko')
plt.show()
您会注意到我试图为每行分配一种颜色,但它不起作用。我还尝试在 ax.plot 中使用颜色参数。 看来这应该是直截了当的。
在此先感谢您对此提供的任何帮助。
您的代码中有两个问题。
'-ko'
和'--ko'
中的'k'
将颜色设置为黑色,因此我们需要删除colors
已经是一个列表,但是您在对 set_prop_cycle 的调用中再次将其放在方括号内,从而使其成为嵌套列表:[['r','g','b']]
。删除那里的方括号,一切正常:ax.set_prop_cycle(cycler('color', colors))
因此,您的代码将如下所示:
import matplotlib.pyplot as plt
import pandas as pd
from cycler import cycler
import numpy as np
fig, ax=plt.subplots(1)
d=pd.DataFrame({'a':[1,2,3,4],
'b':[2,3,4,5],
'c':[3,4,5,6]})
colors=['r','g','b']
ax.set_prop_cycle(cycler('color', colors))
ax.plot(d[:3],'-o',d[2:],'--o')
plt.show()