挑战:我有一个带有iRows
行和iCols
列的DataFrame。每列应在一条图中绘制为一条线。但是,我想为多个线图分配相同的颜色,即iCols
大于图中的颜色数。
中间步骤:我能够以正确的颜色绘制线条。我的例子:
import pandas as pd
import numpy as np
iRows = 5
iCols = 50
df = pd.DataFrame(np.random.randn(iRows,iCols))
num_colors = 5
cm = matplotlib.cm.get_cmap("jet")
cmap = cm(np.linspace(0,1,num_colors))
assignment = np.random.randint(0,5,size=iCols)
colors = [cmap[assignment[i]] for i in range(0,iCols)]
fig, ax = plt.subplots()
ax = df.plot(colors=colors)
问题:
num_colors
个分组的图例?也就是说,图例应具有num_colors
个条目,其中每个条目为groups = ['group1','group2','group3','group4','group5']
中的每种颜色分配一个组名(存储在列表数组cmap
中)。资源:Composing Custom Legends对我没有帮助。
谢谢。