Вот потенциально неэлегантное решение, но это единственное, что у меня есть ... Надеюсь, это поможет!
g = sns.pointplot(x, y, data=df, ci=False);
unique_dates = sorted(list(df['Date'].drop_duplicates()))
date_ticks = range(0, len(unique_dates), 5)
g.set_xticks(date_ticks);
g.set_xticklabels([unique_dates[i].strftime('%d %b') for i in date_ticks], rotation='vertical');
g.set_xlabel('Date');
Дайте мне знать, если вы видите какие-либо проблемы!
Я + (приблизительно 18 символов) + N = безопасный InternationalizatioN
I18N означает, что шаги были сделаны во время проектирования и разработки, которое упростит Локализацию (L10N) позже.
i18n означает internationalization => я ( 18 букв ) n. Код это отмечено как i18n безопасный, был бы кодом, который правильно обрабатывает данные символа неASCII (например, Unicode).
Это чаще всего относится в код или конструкцию, готовую к I18N - т.е. легко поддерживаемое общими методами I18N. Например, следующее готово:
printf(loadResourceString("Result is %s"), result);
, в то время как следующее не:
printf("Result is " + result);
, потому что порядок слов может варьироваться по различным языкам. Поддержка Unicode, международная дата и время, форматирующая и т.п. также, квалифицирует.
РЕДАКТИРОВАНИЕ: добавил loadResourceString для создания примера близко к реальной жизни.
Интернационализация. Деривация его является "буквой I, восемнадцатью буквами, буква N".
i18n является сокращением от "интернационализации". Это было выдумано в DEC и на самом деле использует нижний регистр я и n.
Как заметка на полях: L10n обозначает "локализацию" и использует капитал L для различения его от нижнего регистра я .
Без любой дополнительной информации я предположил бы, что это означает, что код обрабатывает текст как UTF8 и осведомлен о локали. См. эта статья Wikipedia для получения дополнительной информации.
можно ли быть немного более конкретными?
I18N обозначает Интернационализация .
Вкратце: безопасный код I18N означает, что использует некоторую таблицу поиска для текстов на UI. Для этого необходимо поддерживать кодировку неASCII. Это, могло бы казаться, было бы легко, но существуют приблизительно глюки .
i18n-безопасный неопределенное понятие. Это обычно относится для кодирования, который будет работать в международных общественных мнениях - с другой локалью, клавиатурой, наборы символов и т.д. Истинный i18n-безопасный код трудно написать.
Это означает, что код не может полагаться:
sizeof (символ) == 1
, потому что тот символ мог быть 4-байтовым символом UTF-32 или 2-байтовым символом UTF-16, и занять несколько байтов.
Это означает, что код не может полагаться на длину строки, равняющейся числу байтов в строке. Это означает, что код не может полагаться на нулевые байты в строке, указывающей на nul разделитель. Это означает, что код не может просто принять кодирование ASCII текстовых файлов, строк и исходных данных.