根据Pandasmanual,参数***Colormap***可以用于从matplotlib colormap对象中选择颜色,但是对于每个条形图,在条形图的情况下,需要手动选择颜色,这是没有能力的,如果你有很多条形图,手动的努力是烦人的,我的期望是,如果没有选择颜色,每个对象/类应该有一个唯一的颜色表示。2不幸的是,事实并非如此。3颜色是重复的。4只提供了10种唯一的颜色。
复制代码:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(100, 25)), columns=list('ABCDEFGHIJKLMNOPQRSTUVWXY'))
df.set_index('A', inplace=True)
df.plot(kind='bar', stacked=True, figsize=(20, 10))
plt.title("some_name")
plt.savefig("some_name" + '.png')
有人知道如何为图中的每个类设置唯一的颜色吗?
1条答案
按热度按时间68bkxrlz1#
这可能是因为默认属性循环中的颜色(* 见下图 *)只有10个。
一种 * 变通方法 * 是设置一个随机颜色列表(在您的示例中为24),并将其作为 * kwarg * 传递给
pandas.DataFrame.bar
:可能很难找到一个包含24种不同颜色的调色板。但是,您可以使用海运中提供的调色板之一:
另一个解决方案是使用scipy中的
scipy.spatial.distance.euclidean
: