Краткий ответ: вызывать перетаскивание по легенде и интерактивно перемещать его туда, где вы хотите:
ax.legend().draggable()
Длинный ответ: если вы предпочитаете размещать легенду интерактивно / вручную, а не программно, вы можете переключаться перетаскиваемый режим легенды, чтобы вы могли перетащить его туда, где хотите. Посмотрите пример ниже:
import matplotlib.pylab as plt
import numpy as np
#define the figure and get an axes instance
fig = plt.figure()
ax = fig.add_subplot(111)
#plot the data
x = np.arange(-5, 6)
ax.plot(x, x*x, label='y = x^2')
ax.plot(x, x*x*x, label='y = x^3')
ax.legend().draggable()
plt.show()
Вот почему он называется «пост-инкрементирующим оператором». По сути, все это выражение , которое приводит к значению. a + 1
- это выражение, которое приводит к значению 124. Если вы назначаете это b
с b = a + 1
, b
имеет значение 124. Если вы не присваиваете результат чему-либо, a + 1
будет по-прежнему в результате получится значение 124, оно просто будет выброшено немедленно, так как вы не «поймаете» его где-нибудь.
BTW, даже b = a + 1
- это выражение, которое возвращает 124. Полученное значение присваивания выражение - назначенное значение. Вот почему c = b = a + 1
работает так, как вы ожидали.
В любом случае особенность выражения с ++
и --
заключается в том, что в дополнение к возврату значения оператор ++
модифицирует переменная напрямую. Итак, что происходит, когда вы выполняете b = a++
, выражение a++
возвращает значение 123 и увеличивает a
. Инкремент post сначала возвращает значение, , а затем увеличивает, а инкремент pre ++a
сначала увеличивается, затем возвращает значение. Если вы просто написали a++
самостоятельно без назначения, вы не заметите разницы. Вот как обычно используется a++
, как short-hand для a = a + 1
.
Это довольно стандартный.
Когда вы поместите ++
после в переменную, она получает приращение после назначения. Вы также можете поместить ++
перед в переменную, и она будет увеличена до присвоения.
Javascript действительно ведет себя точно ] так же, как PHP для приращения префикса и постфикса.
Пост-инкремент и предварительный инкремент являются общими операторами на многих языках, Javascript составляет около 30 лет от того, чтобы быть первым. PHP также поддерживает пост-инкремент.
Обратите внимание, что вы также можете написать
b = ++a;
, из-за чего вы, вероятно, ожидаете.
Важно понимать, что здесь происходят две вещи: назначение и приращение и язык должны определять, в каком порядке они будут происходить. Поскольку мы доступны как ++a
, так и a++
, имеет смысл, что они должны иметь разные значения.
Для тех из нас, кто находится на фоне C, это вполне естественно. Если PHP ведет себя по-другому, нам может быть интересно, почему PHP решил отклоняться от того, к чему мы привыкли.
++
может использоваться как оператор пост-инкремента, как в вашем примере, или его можно использовать в качестве оператора предварительного инкремента, если используется перед переменной .
var b = ++a;
Затем сначала будет увеличена переменная a
, а затем увеличенное значение присваивается b
.
Это стандартный способ сделать это. Оператор postincrement присваивает значение и затем увеличивает его.
Оператор preincrement (++a
) увеличивает и затем присваивает.
Я не знаком с php и не могу сказать, как он это делает или почему.
++
до предварительного приращения вызова переменной означает приращение значения переменной перед выполнением инструкции. ++
после того, как переменная, называемая post-increment, увеличивает значение переменной после выполнения инструкции.
увеличивает значение переменной.
$b=$a++;
эквивалентно
$b=$a;//after
$a=$a+1;
$ b = ++ $ a; `эквивалентно
$a=$a+1;//before
$b=$a;
Другой пример
$a=5;
echo $a++;//prints 5;
$a=5;
echo ++$a;//prints 6;