Incluya la salida del backend del cuaderno% matplotlib como SVG en ipynb
Esta La respuesta de hace unos años muestra cómo puede hacer que Jupyter Notebook cree gráficos como svg. La solución es decirle a InlineBackend que usesvg
como salida
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
plt.plot(...)
Esto hará que todas las imágenes estén en formato svg dentro del cuaderno, así como en el archivo ipynb producido; el archivo tendrá una línea como
"data": { "image/svg+xml": [ "<?xml .....
en eso.
El problema ahora es que esto no funciona si el%matplotlib notebook
Se utiliza el backend.%config InlineBackend
no cambia nada para el backend del portátil, por lo tanto, el archivo de salida contiene una imagen PNG
"data": { "text/html": [ "<img src=\"data:image/png;base64,iVBORw0....
Entonces la pregunta es:¿Cómo consigo que el archivo ipynb incluya una versión estática de la trama que se crea con el%matplotlib notebook
backend como imagen SVG?
Hay un pequeño comentario de@mark jay desde hace un mes, que quería hacer exactamente lo que me gustaría hacer ahora, pero no hay respuesta o sugerencia para ese comentario.
En mi código, he trazado directamente desde el marco de datos:
%matplotlib notebook
import pandas as pd
df = pd.read_sql(sql1, connection)
...
...
df.plot(subplots=True, kind='bar')
Esto funciona perfectamente bien sin importarmatplotlib.pyplot
pero tampoco se puede obligar a crear el gráfico como un svg. Supongo que si el caso base funcionara, podría modificar el código de trazado para que no involucrara pandas o marcos de datos.