2013-11-24 1 views
1

У меня есть десяток присущ рефлективные, вербальные на тот же участок, расположенный горизонтально . Я хочу, чтобы промежуток между ними был постоянным, поэтому я не установил positions при вызове plt.boxplot().Matplotlib: установка xticklabels вернулся каким-то «помочь» выходу

Для каждого boxplot, я хочу, соответствующий ярлык на оси Х иметь определенное значение. Я делаю это:

xtickNames = plt.setp(ax, xticklabels=[str(v) for v in values]) 
plt.setp(xtickNames) 

Это работает, но я получаю все эти выходные вещей на экране:

agg_filter: неизвестный альфа: поплавок (0,0 прозрачного через 1,0 непрозрачного) анимационный: [True, | Ложный] оси: : Класс: ~matplotlib.axes.Axes экземпляра BackgroundColor: любого Matplotlib цвета BBox: прямоугольник проп Dict
clip_box: а: класс: matplotlib.transforms.Bbox экземпляра
clip_on: [Правда | False] клип_path: [ (: класс: ~matplotlib.path.Path,
: класс: ~matplotlib.transforms.Transform) |
: class: ~matplotlib.patches.Patch | None] color: any matplotlib цвет содержит: вызываемую функцию
фамилию или имя шрифта или имя шрифта или имя: [FONTNAME | 'serif' | 'sans-serif' | 'cursive' | «фантазия» | 'Моноширинного'] фигуры: а: класс: matplotlib.figure.Figure экземпляра
fontproperties или font_properties: класс:: matplotlib.font_manager.FontProperties экземпляра
GID: строка идентификатора HorizontalAlignment или га: [ 'центр' | «правый» | 'left'] label: string или что-нибудь, что можно печатать с Преобразование '% s'. linepacing: float (кратно размеру шрифта) lod: [True | False] multialignment: ['left' | «право» | 'center'] path_effects: unknown picker: [None | float | boolean | callable] position: (x, y)
растрированный: [True | False | Нет] вращение: [угол в градусов | 'вертикальный' | 'horizontal'] rotation_mode: Неизвестный размер или размер шрифта: [size in points | 'xx-small' | 'x-small' | 'small' | «средний» | «большой» | 'x-large' | 'xx-large'] sketch_params: неизвестная привязка: неизвестно
stretch or fontstretch: [числовое значение в диапазоне 0-1000 | «ультраконденсированный» | «лишний конденсат» | 'конденсированный' | «полуконденсированные» | «нормальный» | 'полурасширенный' | 'расширенный' | «расширенный» | 'ultra-extended']
стиль или шрифт: ['normal' | 'italic' | 'oblique']
текст: строка или что-нибудь, что можно печатать с преобразованием «% s».
transform:: class: ~matplotlib.transforms.Transform пример
url: вариант строки url или fontvariant: ['normal' | 'small-caps'] verticalalignment или va или ma: ['center' | 'top' | 'bottom' | 'baseeline'] visible: [True | False]
вес или вес: [числовое значение в диапазоне 0-1000 | 'ultralight' | «свет» | «нормальный» | 'regular' | «книга» | 'medium' | 'roman' | 'полужирный' | 'demibold' | 'demi' | 'смелый' | «тяжелый» | «лишний полужирный» | 'Черный']
х: поплавок у: поплавок ZOrder: любое число

Что пошло не так?

ответ

1
xtickNames = plt.setp(ax, xticklabels=[str(v) for v in values]) 

устанавливает xticklabels.

plt.setp(xtickNames) 

печатает настраиваемые свойства xtickNames на экран.

Так что просто используйте первую команду, чтобы установить xticklabels без печати на экран. В качестве альтернативы вы можете использовать

ax.set_xticklabels(map(str, values)) 
+0

Так что мне даже не нужно сохранять переменную на выходе этой первой строки, верно? –

Смежные вопросы