Мой код извлекает CSV-файлы, подмножество данных, а затем проходит через каждый фрейм данных, чтобы получить вывод и некоторые графики.Код работает для всех моих тестовых данных, кроме двух поднаборов данных в одном файле CSV.Проблема в том, что второстепенные тики от 0 до 100 не отображаются на двух выходных графиках.Я просмотрел данные, я не понимаю, почему второстепенные тики не будут отображаться.
Я попытался установить главную ось с помощью этого кода,
locmaj = matplotlib.ticker.LogLocator(base=10.0, numticks = 6)
ax.yaxis.set_major_locator(locmaj)
Но это не такпомочь, даже если я установил равные числа в младшей строке loglocator.Это приводит к интересному поведению, когда 0 и 1 вообще не отображаются на оси Y.
fig, ax = plt.subplots()
ax.scatter(df['cunnanes'],df['turbidity'], s = 4)
ax.scatter(exceed['exceedance'], exceed['turbidity'])
ax.set_title(names[i] + ' Exceedance graph')
ax.set_xlabel('Exceedance Probability (%)')
ax.set_ylabel('Turbidity (FNU)')
ax.set_yscale('symlog')
ax.set_ylim([-0.5, 10000])
ax.minorticks_on
ax.tick_params(axis = 'x', which = 'both', direction = 'in', top = True, bottom = True)
ax.tick_params(axis = 'y', which = 'both', direction = 'in', left = True, right = True)
locmin = matplotlib.ticker.LogLocator(base=10.0, subs=(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9))
ax.yaxis.set_minor_locator(locmin)
ax.yaxis.set_minor_formatter(matplotlib.ticker.NullFormatter())
plt.show()
Есть идеи, что может вызвать такое поведение?
Не работает график:

Рабочий график:

Обновление: вот файл csv-нарушителя и минимальный код для воспроизведения проблемы.
Данные
Сценарий
Обновление 2 Джоди Климак указал на matplotlib.ticker.SymmetricalLogLocator () вместо LogLocator ().
Изменено
locmin = matplotlib.ticker.LogLocator(base=10, subs=(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9), numticks = 10)
на
locmin = matplotlib.ticker.SymmetricalLogLocator(linthresh=1, base=10, subs = (0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9))