Как создать дрядочную легенду в Matplotlib?
-
23-09-2019 - |
Вопрос
Я рисую легенду на объект Axes в Matplotlib, но позиционирование по умолчанию, которое утверждает, что помещает его в умное место, похоже, не работает. В идеале я хотел бы, чтобы легенда была перетаскивана пользователем. Как это может быть сделано?
Решение
Оба ошибки были исправлены путем включения метода:
#ifdef RTLD_SELF
//initialize method
#endif
.
получил подсказку от http://opensource.apple.com/source/dyld/dyld-45.1/unit-tests/test-cases/dlsym-rtld_fess/main.c?txt
Другие советы
В новых версиях Matplotlib (v1.0.1) это встроено.
def draw(self):
ax = self.figure.add_subplot(111)
scatter = ax.scatter(np.random.randn(100), np.random.randn(100))
legend = ax.legend()
legend.draggable(state=True)
Если вы используете Matplotlib интерактивно (например, в режиме ipython's Pylab).
plot(range(10), range(10), label="test label")
plot(range(10), [5 for x in range(10)], label="another test")
l = legend()
l.draggable(True)
Даже в более новых версиях (3.0.2) он устарел и потенциально будет представлять свойство в будущих версиях (следовательно, оно не будет вызовом).
plot(range(10), range(10), label="test label")
plot(range(10), [5 for x in range(10)], label="another test")
plt.legend().set_draggable(True)
Не связан с StackOverflow