что-то странное происходит в matplotlib.
У меня есть кадр данных pandas, и я создаю гистограмму с накоплением, используя два ее столбца. Один столбец — это числа с плавающей запятой, которые входят в ячейки гистограммы. Другой столбец содержит только 0 и 1, которые используются для разделения данных на два стека. Мой фактический код немного сложнее, но он выглядит примерно так:
print(df)
df =
col1 col2
1.7 1
2.4 0
3.1 0
4.0 1
etc etc
# First I separate the data by the 0's and 1's in col2
df_1 = df.loc[df['col2']==1]
df_0 = df.loc[df['col2']==0]
fig, axes =
Построение графика с помощью функции гистограммы matplotlib работает нормально. Если я назову это:
fig,axes= plt.subplots(nrows=1, ncols=1)
n,bins,patches= axes.hist( [ df_0['col1'], df_1['col1'] ] , histtype='step', stacked=True, Fill=True)
... Я получаю очень хороший сюжет:
ОДНАКО, что-то очень странное происходит, если я меняю порядок df_0 и df_1, когда я вызываю hist(). Например, если я сделаю это вместо этого:
n,bins,patches= axes[0].hist( [ df_1['col1'], df_0['col1'] ] , histtype='step', stacked=True, Fill=True)
... Я получаю сюжет с перевернутыми стеками (как и ожидалось), НО теперь сюжет подхватил странный артефакт; есть как бы невидимая линия, которая обрезает и закрашивает некоторые места графика цветом.
Что, черт возьми, здесь происходит? Моя первая мысль заключалась в том, что, возможно, в столбце1 или столбце2 были значения NaN или что-то в этом роде, но я проверил их, и значения столбца в порядке. Любые идеи о том, что может быть причиной этого?