Python `ListedColormap`在所有黑条中列出结果-matplotlib

Python `ListedColormap`在所有黑条中列出结果-matplotlib,python,pandas,matplotlib,plot,colormap,Python,Pandas,Matplotlib,Plot,Colormap,我想输出一个通过值控制暗度(或亮度)的绘图,因此示例:值20将是较暗的颜色,值5将是较亮的颜色,但我希望相同的数字具有相同的颜色(并且易于查看…),到目前为止,我尝试了ListedColormap(如上所述)这只让我知道了所有的黑条,下面是代码: import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap import sea

我想输出一个通过值控制暗度(或亮度)的绘图,因此示例:值20将是较暗的颜色,值5将是较亮的颜色,但我希望相同的数字具有相同的颜色(并且易于查看…),到目前为止,我尝试了
ListedColormap
(如上所述)这只让我知道了所有的黑条,下面是代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
import seaborn as sns
df = pd.DataFrame({'values': [0, 0, 0, 0, 0, 17, 16, 16, 15, 15, 15, 14, 13, 13, 13]})
colors = ListedColormap([str((i*4) / 100) for i in df['values'].replace(0, 1)])
df.plot(kind='barh', colormap=colors)
plt.show()

您需要提供一份颜色列表。这里,使用matplotlib:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'values': [0, 0, 0, 0, 0, 17, 16, 16, 15, 15, 15, 14, 13, 13, 13]})
colors = [str((i*4) / 100) for i in df['values'].replace(0, 1)]
plt.barh(df.index, df['values'].values, color=colors)
plt.show()

如果条形图与彩色贴图一起使用,则需要指定要从中映射的内容。但由于它们无论如何都不存在,因此您需要提供一份颜色列表,就像其他人在回答有关该主题的问题时所做的那样。@ImportanceOfBeingErnest因此我需要手动键入颜色?@ImportanceOfBeingErnest这些值未知,所以我应该怎么做?@ImportanceOfBeingErnest您认为最可选的解决方案是什么?我以前确实尝试过这个方法,只是没有使用
plt.barh
没有意识到需要它!