在matplotlib中设置线图中的特定颜色

qhhrdooz  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(175)

在我的数据集中有6个不同的列(cum_return_pf),它们被绘制在一个图中(见下文)。
我如何设置每条线的颜色?我需要这样做,因为我希望在不同的图中始终使用相同的颜色

import matplotlib.pyplot as plt

ax = cum_return_pf.plot(figsize=(10, 5))
ax.set(xlabel="Year", ylabel="Return") 
plt.savefig('Comparison.jpg', dpi=300)

这将产生:

unhi4e5o

unhi4e5o1#

与使用cycler的建议类似,您也可以定义一个带有颜色的列表(例如,来自Colormap),其中每行对应于每个图的颜色。

使用定性色彩Map表

#list with 5 colors, e.g. from colormap 'tab10'
c = [plt.cm.tab10(i) for i in range(5)]

使用非定性色彩Map表

#list with 5 colors
c = [plt.cm.RdBu_r(i/5) for i in range(5)]

完整示例

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#some random data
numLines = 5
df = pd.DataFrame(np.random.randint(0,100,size=(10, numLines)))

#list with colors
c = [plt.cm.RdBu_r(i/numLines) for i in range(numLines)]

#plot
ax = df.plot(color=c)
plt.show()

相关问题