К сожалению, назначение innerHTML
вызывает уничтожение всех дочерних элементов, даже если вы пытаетесь добавить. Если вы хотите сохранить дочерние узлы (и их обработчики событий), вам нужно будет использовать функции DOM :
function start() {
var myspan = document.getElementById("myspan");
myspan.onclick = function() { alert ("hi"); };
var mydiv = document.getElementById("mydiv");
mydiv.appendChild(document.createTextNode("bar"));
}
Изменить: решение Боба из комментариев. Отправьте свой ответ, Боб! Получите кредит на это. : -)
function start() {
var myspan = document.getElementById("myspan");
myspan.onclick = function() { alert ("hi"); };
var mydiv = document.getElementById("mydiv");
var newcontent = document.createElement('div');
newcontent.innerHTML = "bar";
while (newcontent.firstChild) {
mydiv.appendChild(newcontent.firstChild);
}
}
Специальное решение, которое вводит магическое значение 25
, которое я не очень понимаю, по меньшей мере, является
plt.xlabel('pollo', horizontalalignment='right', position=(1,25))
. Более разумный подход заключается в использовании того, что y
, которую выбрал axes.xaxis
... С этой идеей разумная процедура обычно похожа на
.get_object(...)
родительского контейнера .set_object(...)
. В нашем случае мы делаем график, затем получаем текущую ось ax
, который содержит xaxis
, который содержит label
, положение и выравнивание которых мы хотим изменить.
...
plt.xlabel('...')
...
ax = plt.gca()
label = ax.xaxis.get_label()
x_lab_pos, y_lab_pos = label.get_position()
label.set_position([1.0, y_lab_pos])
label.set_horizontalalignment('right')
ax.xaxis.set_label(label)
...
plt.show()
Что касается действия непосредственно на значения по умолчанию matplotlib
, я просматривал plt.rcParams
, но я не заметил ничего полезного. Конечно, это не значит, что это невозможно, просто я не вижу жизнеспособного решения.
plt.xlabel('x description', horizontalalignment='right', x=1.0)
– anatol 11 July 2017 в 09:39horizontalalignment
иx
/y
(в обоих заявлениях просьба) - это более 6 символов ... и спасибо, что поймали мою ошибку! – gboffi 11 July 2017 в 10:33