Соглашения о присвоении имен: Инструкции для глаголов/существительных и английского использования грамматики

Предостережение: если метки метки уже установлены в строку (как это обычно бывает в случае, например, в коробке), это не будет работать с любой версией matplotlib более новой, чем 1.1.0. Если вы работаете с текущим мастером github, это не сработает. Я не уверен, что проблема еще ... Это может быть непреднамеренное изменение, или это может быть не так ...

Обычно вы делаете что-то в этом направлении:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# We need to draw the canvas, otherwise the labels won't be positioned and 
# won't have values yet.
fig.canvas.draw()

labels = [item.get_text() for item in ax.get_xticklabels()]
labels[1] = 'Testing'

ax.set_xticklabels(labels)

plt.show()

enter image description here [/g0]

Чтобы понять причину, по которой вам нужно перепрыгнуть через столько обручей, вам нужно понять немного больше о том, как структурируется matplotlib.

Matplotlib намеренно избегает выполнения «статического» позиционирования тиков и т. д., если это явно не сказано. Предполагается, что вы захотите взаимодействовать с сюжетом, и поэтому границы сюжета, галочки, метки и т. Д. Будут динамически меняться.

Поэтому вы не можете просто установить текст данный тиковый ярлык.

Однако, если Locators и Formatters установлены как статические (FixedLocator и FixedFormatter, соответственно), то по умолчанию они устанавливаются локатором и форматированием оси каждый раз, , то метки тика остаются неизменными.

Это то, что делает set_*ticklabels или ax.*axis.set_ticklabels.

Надеюсь, это значительно облегчит понимание того, почему изменение индивидуальной метки метки немного запутанно.

Часто то, что вы на самом деле хотите сделать, это просто аннотировать определенную позицию. В этом случае загляните в annotate.

17
задан Chris S 5 January 2009 в 11:34
поделиться

7 ответов

Посмотрите статьи MSDN для рекомендаций по именованию. Короче говоря:

  • существительные Использования для имен классов и имен свойства (это очевидно)
  • Для имен интерфейса, запустите с меня и используйте существительные и/или прилагательные для описания поведения
  • глаголы Использования для имен методов для описания действия

Для примера - IGroupableItem.

20
ответ дан 30 November 2019 в 12:01
поделиться

Интерфейсы являются вещами, класс способен к выполнению. Не, что это , а что это может , делают .

IGroupableItem

Другие имена описывают то, что вещи или слишком неопределенны, чтобы быть полезными.

А именно, "IDataEntity" в основном бессмыслен. В конце концов, все - объект данных.

8
ответ дан 30 November 2019 в 12:01
поделиться

MSDN имеет статью только о Интерфейсные Рекомендации по именованию , который может выручить Вас. Если Вы хотите соглашения о присвоении имен материала кроме интерфейсов, наряду со многими другими рекомендациями по именованию и руководством по проектированию, можно найти что все на MSDN, также.

4
ответ дан 30 November 2019 в 12:01
поделиться

Это - тот же материал как ответ Spodi, но MSDN Руководство по проектированию для Разработчиков Библиотеки классов главным образом превосходен, касаясь именование и очень, намного больше.

1
ответ дан 30 November 2019 в 12:01
поделиться

Существует хорошая статья , Делающая Взгляд Неверного кода Неправильно Joel Spolsky. Это говорит о не настолько популярное, но очень удобное соглашение о присвоении имен.

1
ответ дан 30 November 2019 в 12:01
поделиться
0
ответ дан 30 November 2019 в 12:01
поделиться

А также Инструкции MSDN, существует C#, Кодирующий документ Стандартов от IDesign Juval Lowy, который довольно полезен (не знайте, отличается ли это от MSDN).

Стандарты Кодирования C#

1
ответ дан 30 November 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: