#python #matplotlib #plot
#python #matplotlib #график
Вопрос:
Я пытаюсь сделать что-то вроде этого:
vol_grid = MultipleLocator(1000)
fig_vol = plt.subplot2grid((count, count), (i, 0), rowspan=1, colspan=count)
fig_vol.yaxis.set_major_locator(vol_grid)
но это не имеет никакого эффекта. Есть идеи?
Мое намерение состоит в том, чтобы установить метки по оси y на расстоянии 1000 единиц друг от друга, т. Е. иметь метки на уровне 1000, 2000, 3000 и т.д.
Комментарии:
1.
fig_vol.set_yticks([1000, 2000, 3000, ...])
должно сработать…2. Я бы с удовольствием попробовал это, но теперь внезапно я начал получать что-то вроде /usr/lib64/python2.7/site-packages/matplotlib/font_manager.py:1224: Предупреждение пользователя: findfont: Семейство шрифтов [‘monospace’] не найдено. Возврат к битовому потоку Vera Sans (prop.get_family(), self.defaultFamily[fontext])) /usr/lib/python2.7/site-packages/IPython/core/formatters.py:239: Предупреждение форматера: Исключение в программе форматирования изображений / png: Локатор пытается сгенерировать 20001 тиков от 0.0 до 100.0: превышает локатор. Предупреждение о формате MAXTICKS даже без изменения кода. Есть идеи?
3. к сожалению, я не знаю … вероятно, что-то изменилось
Ответ №1:
Вы ничего не нанесли на график, и именно поэтому метки тиков не отображаются (значение по ylim
умолчанию равно (0,1)
, вы можете установить vol_grid = MultipleLocator(0.1)
, чтобы увидеть это)
from matplotlib.ticker import MultipleLocator
import matplotlib.pyplot as plt
vol_grid = MultipleLocator(1000)
fig_vol = plt.subplot2grid((2, 2), (0, 0), rowspan=1, colspan=2)
fig_vol.yaxis.set_major_locator(vol_grid)
Мы можем изменить ylim
или просто вывести некоторые данные:
fig_vol.set_ylim(1000, 9000)
#plt.plot([1,2,3], [1000, 2000, 5000])