将相同的颜色分配给线图组

时间:2018-07-23 19:57:17

标签: python pandas matplotlib legend

挑战:我有一个带有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对我没有帮助。

谢谢。

0 个答案:

没有答案