Заранее спасибо, что нашли время прочитать мой вопрос. У меня возникли проблемы с построением массива отрицательных степеней 10 в matplotlib
Я прочитал все параметры журнала xscale в документации по matplotlib, но безрезультатно. Я также прочитал следующие вопросы и некоторые другие, которые казались похожими, но в конечном итоге они мне не помогли:
Matplotlib: отключить степени десяти в логарифмическом графике
Ось графика в Python с логарифмической шкалой для отрицательных показателей 10
Логарифмические графики с нулевыми значениями в matplotlib *с отрицательными показателями*
Логарифмические графики с нулевыми значениями в matplotlib
Это более или менее в простой форме, как выглядит мой код.
x = массив np со 100 значениями 0,99999, 0,9999, 0,999, 0,99
y = массив np с соответствующими выводами оценки, которые необходимо нанести на график.
plt.plot(x, y, 'o')
plt.xticks([0.99999,0.9999,0.999,0.99])
plt.gca().set_xscale('log')
То, что я пытаюсь получить, - это график со значениями 0,99999, 0,9999, 0,999, 0,99, равномерно распределенными по оси x, и нанесенными на соответствующие им значения y.
Еще раз я хотел бы поблагодарить вас за то, что вы нашли время, чтобы прочитать этот вопрос, и я искренне надеюсь, что вы можете мне помочь!
0.99999,0.9999,0.999,0.99
не является логарифмической прогрессией, поэтому неудивительно, что она неравномерно распределена по логарифмической шкале. Думали ли вы о построении графика 1-x
вместо этого?
Вы можете легко «подделать» такой график, построив y против [0,1,2,3,...]
, а затем заменив xtickslabel на [0.9999,0.999,0.99,...]
x = [0.99999,0.9999,0.999,0.99]
y = [1,2,3,4]
fig, ax = plt.subplots()
ax.plot(range(len(x)),y, 'o-')
ax.set_xticks(range(len(x)))
ax.set_xticklabels(x)
Большое спасибо! Этот ответ привел меня на путь создания сюжета, который я хотел. Очень ценю!!
Не могли бы вы опубликовать минимальный и полный пример, включая некоторые данные примера для копирования и вставки?