Использование библиотеки Matplotlib. Как использовать эффект рисования от руки

В Matplotlib 1.3 появилась возможность применения эффекта рисования от руки, чтобы графики выглядели в стиле комиксов с сайта xkcd.com. Статья Как использовать эффект рисования от руки показывает, как можно использовать эту возможность.

Читать далее ‘Использование библиотеки Matplotlib. Как использовать эффект рисования от руки’ »

Как в Matplotlib установить логарифмический масштаб по осям

Shortcuter. Класс для расстановки клавиатурных сокращений в меню wxPython

Выложил класс для автоматической расстановки клавиатурных сокращений (подчеркнутых букв) в меню с использованием wxPython. Подробнее…

Как работать с календарными данными в Matplotlib

Серию статей про работу с Matplotlib пополнил еще одним материалом — Как работать с календарными данными.

Новая статья по Matplotlib. Как изменять формат меток на осях

Выложил еще одну статью из серии про работу с MatplotlibКак изменять формат меток на осях. Заодно упорядочил существующие статьи, разбив их на темы.

Новая статья в шпаргалке по Matplotlib. Как управлять положением меток на осях

Продолжаю пополнять статьями шпаргалку по библиотеке Matplotlib. На этот раз выложил новую статью Как управлять положением меток на осях.

Новая статья. Как рисовать графики с помощью Matplotlib при использовании wxPython

Новый пример в шпаргалке по Matplotlib. Как выводить текст и настраивать его внешний вид

wxPython и Drag’n’Drop файлов в Linux

wxPython и Drag'n'Drop файлов в Linux

В промежутках между работой и сном постепенно доделываю OutWiker, очередную версию которого собираюсь в скором времени выложить. Одним из изменений в этой версии будет то, что теперь можно будет перетаскивать прикрепленные файлы из окна OutWiker’а в другие приложения. Но когда я только начинал добавлять эту возможность, то не думал, что потрачу на нее столько сил и нервов, и все из-за одной мерзопакостной ошибки в wxWidgets.

Началось все хорошо. Сидя под Windows, реализация возможности перетаскивать файлы в другие приложения заняла считанные строки:

def onBeginDrag(self, event):
	"""
	Начало перетаскивания файлов
	"""
	data = wx.FileDataObject()

	for fname in self.getSelectedFiles():
		# Добавляем вложенные файлы в список.
		data.AddFile (fname)

	dragSource = wx.DropSource (self)
	dragSource.SetData(data)

	result = dragSource.DoDragDrop ()

Читать далее ‘wxPython и Drag’n’Drop файлов в Linux’ »

История одного глюка или дело о букве «Р»

История одного глюка или дело о букве "Р"

На днях столкнулся со странным глюком, найденным в OutWiker‘е, на исправление которого вместе с поимкой виновника ушло два вечера.

Не буду долго описывать то, как я наткнулся на этот глюк, лучше перейдем сразу к его сути. А суть состоит в том, что для хранения и парсинга настроек страниц в программе используется стандартный класс ConfigParser (с некоторой тонкой оболочкой над ним, но в данном случае это не важно) — очень уж в нем удобно разбирать строки вида xxx = yyy. Так вот, неожиданно оказалось, что если yyy кончается на русскую букву «Р», то при преобразовании yyy в unicode бросается исключение о том, что кодек utf8 не может преобразовать строку, так как данные неожиданно закончились (‘utf8’ codec can’t decode byte 0xd0 in position __: unexpected end of data). Причем, в середине строки буква «Р» нормально преобразовывалась. Добавление пробела к концу строки, которая кончалась на «Р», ничего не дало, зато навело на мысль, что дело может быть в обрезании строки при выкидывания начальных и концевых пробелов, переводов строк и т.п. При этом все остальные русские буквы на конце обрабатывались без проблем.

Читать далее ‘История одного глюка или дело о букве «Р»’ »