繁体   English   中英

如何使用 matplotlib 中设置的自定义数字自定义条形中的颜色?

[英]How do I customize the colours in the bars using custom number set in matplotlib?

我正在尝试将根据Z157DB7DF5300235755515515515515D366C9B672E8Z的价值添加Z62848E3CE5804AA985513A792F587B2Z将其添加到标准级别。在使用不正确的colorbar方法时:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame({'values': [17, 16, 16, 15, 15, 15, 14, 13, 13, 13]})
df.plot(kind='barh')
plt.imshow(df)
plt.colorbar()
plt.show()

但它给出了一个奇怪的结果:

诡异的情节

我刚刚意识到使用plt.barhcolormaps图可以提供更好的绘图,使用:

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]})
df = df.sort_values(by='values').reset_index(drop=True)
s = df['values'].replace(0, df.loc[df['values'] != 0, 'values'].min())
s = s.sub(s.min())
colors = (1 - (s / s.max())).astype(str).tolist()
plt.barh(df.index, df['values'].values, color=colors)
plt.show()

这使:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM