如何在python中的直方图的每个栏中着色?

时间:2018-08-02 20:26:23

标签: python-3.x pandas matplotlib histogram seaborn

我已经被卡住了一段时间,试图弄清楚如何为直方图的每个条着色不同的颜色。

image

这是我创建的直方图,刻度线习惯于bin边界。这是我的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl

df = pd.read_csv('/Users/histogram')
bin_boundaries = [4.9, 16.5, 27.5, 36.5, 42.5, 51.5, 56.5, 62.5, 73.5, 91.5, 115.5, 148.5, 168.5, 192.5, 234.5, 250.5, 269.5, 310.5, 351.5, 382.5, 432.5, 473.5, 534.5, 574.5, 648.5, 704.5, 801.5, 915.5, 1126.5, 1348.5, 3195.0]
df1 = df['data']
fig, ax1 = plt.subplots(figsize=(20, 10))
fig.text(0.5, -0.05, size = 15, horizontalalignment = 'center')
ax1.hist(df1.dropna().values, bins = bin_boundaries, histtype='bar')
ax1.set_ylabel('Counts', size = 20)
plt.xticks(rotation=90)
ax1.xaxis.set_ticks(bin_boundaries)
plt.xlim(0, 3195)

其中的勾号表示容器边界。我在使用直方图中的每个bin进行颜色编码时非常困难,而不会弄乱原始形状。

感谢您的帮助!

0 个答案:

没有答案