Вопрос

Я рисую легенду на объект 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)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top