Значение Matplotlib в левом верхнем углу и удалите его

#python #matplotlib

Вопрос:

У меня есть этот массив с 10 значениями.

этот сюжет

Я понимаю, что в моем массиве так много чисел за запятой. Но я замечаю, что в левом верхнем углу есть значение.

Кто-нибудь знает, что это такое и как его удалить?

Заранее спасибо.

массив:

 0.00409960926442099
0.00409960926442083
0.004099609264420652
0.004099609264420653
0.004099609264420585
0.0040996092644205884
0.004099609264420545
0.004099609264420517
0.004099609264420514
0.004099609264420513
 

Ответ №1:

Поскольку все ваши значения очень близки друг к другу, обычные галочки будут одинаковыми. Например, если вы используете»%. 6f «в качестве формата тика, вы получите «0,00410» для каждого из тиков. Это было бы не очень полезно. Поэтому matplotlib помещает базовый номер ‘4.096609264420 e-3’ вместе со смещением ‘1e-16’ для обозначения меток. Таким образом, каждый реальный тик будет базой плюс смещение, умноженное на значение тика.

Чтобы избавиться от этих странных цифр, вам нужно переоценить, чего именно вы хотите достичь с помощью своего сюжета. Если бы вы установили некоторые пределы y (например plt.ylim(0.004099, 0.004100) ), вы получили бы довольно скучную горизонтальную линию. Обратите внимание, что 1e-16 очень близка к максимальной точности, которую вы можете получить, используя стандартную математику с плавающей запятой.

Вот несколько демонстрационных кодов, чтобы показать, как это будет выглядеть в формате»%. 6f» .:

 import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

plt.plot([0.00409960926442099, 0.00409960926442083, 0.004099609264420652, 0.004099609264420653,
          0.004099609264420585, 0.0040996092644205884, 0.004099609264420545, 0.004099609264420517,
          0.004099609264420514, 0.004099609264420513])
plt.gca().yaxis.set_major_formatter(mtick.FormatStrFormatter('%.6f'))
plt.tight_layout()
plt.show()
 

галочки с 6 цифрами