что-то странное происходит в 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)
... Я получаю заговор с перевернутыми стеками (как и ожидалось), НО теперь заговор обнаружил странный артефакт; есть невидимая линия, которая обрезает и заполняет в некоторых местах графика цветом.
Какого черта здесь происходит? Сначала я подумал, что, возможно, column1 или column2 имеют значения NaN или что-то в этом роде, но я проверил их, и значения столбцов в порядке. Любые идеи о том, что может быть причиной этого?