JuliaPy / JuliaPy/PyPlot.jl

add_callback fails on axis

Abierto
#500 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
488
Forks
90
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I'm trying to set up a callback that runs every time the user changes the zoom setting on an axis. Here's a demo in Python:
```python
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> ax.plot(np.random.rand(5))
[]
>>> def callback(artist):
... print('callback')
...
>>> ax.xaxis.add_callback(callback)
0
>>> plt.show()
callback
callback
```
and then if I click on the magnifying glass and zoom in, I get another `callback` exactly as expected.

However, here I get nothing:
```julia
julia> using PyPlot

julia> PyPlot.version
v"3.3.1"

julia> fig, ax = plt.subplots()
(Figure(PyObject ), PyObject )

julia> ax.plot(rand(5))
1-element Vector{PyCall.PyObject}:
PyObject

julia> called = [] # in case there are any task-switching concerns...
Any[]

julia> pushtime(args...) = push!(called, time()) # just log that we got called
pushtime (generic function with 1 method)

julia> ax.xaxis.add_callback(pushtime)
0
```
and `called` never gets populated no matter what I do.

Any suggestions? EDIT: true for both Julia 1.5.2 and Julia v"1.6.0-DEV.1187".

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.