Прошло некоторое время с тех пор, как был задан этот вопрос. На сегодняшний день (matplotlib 2.2.2
), и после некоторых чтений и испытаний я считаю, что лучший / правильный способ:
Matplotlib имеет модуль с именем ticker
, что "содержит классы для поддержки полностью настраиваемого определения и форматирования тика" . Чтобы изменить конкретный тик на графике, для меня работает следующее:
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import numpy as np
def update_ticks(x, pos):
if x == 0:
return 'Mean'
elif pos == 6:
return 'pos is 6'
else:
return x
data = np.random.normal(0, 1, 1000)
fig, ax = plt.subplots()
ax.hist(data, bins=25, edgecolor='black')
ax.xaxis.set_major_formatter(mticker.FuncFormatter(update_ticks))
plt.show()
Предостережение! x
- значение галочки, а pos
- его относительное положение по порядку по оси. Обратите внимание, что pos
принимает значения, начиная с 1
, а не в 0
, как обычно, при индексировании.
В моем случае я пытался отформатировать y-axis
гистограммы с процентные значения. mticker
имеет другой класс с именем PercentFormatter
, который может сделать это легко, без необходимости определять отдельную функцию по-прежнему:
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import numpy as np
data = np.random.normal(0, 1, 1000)
fig, ax = plt.subplots()
weights = np.ones_like(data) / len(data)
ax.hist(data, bins=25, weights=weights, edgecolor='black')
ax.yaxis.set_major_formatter(mticker.PercentFormatter(xmax=1.0, decimals=1))
plt.show()
В этом случае xmax
- это значение данных, которое соответствует 100%. Проценты вычисляются как x / xmax * 100
, поэтому мы исправим xmax=1.0
. Кроме того, decimals
- количество знаков после запятой после точки.
Существует обзор Perl IDE здесь . Я нахожу Падре очень перспективным, но я не уверен, что это уже имеет все функции, в которых Вы нуждаетесь (если не это, вероятно, скоро будет).
Падре: http://padre.perlide.org/
GNU/Emacs с cperl-режимом: http://gnu.org/software/emacs
Emacs имеет лучшие возможности редактирования (и hilights Perl лучше, иронически), но Падре мог бы быть достаточно для Вас.
Это не свободно, но Вы могли взглянуть на Комодо ( ActiveState). Когда я посмотрел на него несколько лет назад, они предлагали бесплатную лицензию для разработчиков ПО с открытым исходным кодом.
Я использую enginsite Редактор Perl облегченная версия , главным образом для функции, переменной аварийной функции и функции компиляции/выполнения.
, если Вы хотите больше функции затем, Вы могли бы хотеть посмотреть на полную версию.
Редактирование Комодо от ActiveState поддерживает отладку, и это является межплатформенным.