#python #matplotlib
Вопрос:
Я хотел бы иметь возможность отображать значения 1, используя logit
шкалу в matplotlib.
import matplotlib.pyplot as plt from numpy.random import logistic x = [round(min(1/abs(x), 1.0), 1) for x in logistic(size=1000)] fig, ax = plt.subplots() ax.hist(x)
Но когда я использую logit
шкалу, я теряю значения 1.
fig, ax = plt.subplots() ax.hist(x) ax.set_xscale("logit")
Кроме того, если я попытаюсь вручную установить кнопки, я получу ошибки.
gt;gt;gt; ticks = [0.5, 1.0] gt;gt;gt; ax.set_xticks(ticks) gt;gt;gt; ax.set_xticklabels(ticks) posx and posy should be finite values posx and posy should be finite values
Я понимаю, что 1 является границей для логистической функции, но есть ли какой-то способ взломать ее, чтобы показать значения 1?
Комментарии:
1. Это больше, чем «граница», это асимптота. Используется масштаб логита
log(p/(1-p))
, поэтому значение 1 приводит к бесконечности. Полагаю, вы могли бы умножить весь массив на 0,99.