matplotlib_ai
¿También tienes una relación de amor y odio con matplotlib? ¡Yo también! Por eso creé este miniproyecto que puede ayudarte a graficar tus datos usando lenguaje natural. Las dependencias del paquete requieren openai
y matplotlib
, y es increíblemente fácil de usar. Matplotlib_ai llama a la API GPT de OpenAI, impulsa la ingeniería y utiliza el aprendizaje en pocas ocasiones. matplotlib_ai
es capaz de generar gráficos sin necesidad de escribir una sola línea de código matplotlib
!
Importar matplotlib_ai
mediante pip:
pip install matplotlib_ai
Digamos que tenemos un diccionario de data
con 4 curvas etiquetadas como 'a'
, 'b'
, 'c'
y 'd'
:
import numpy as np
data = { 'a' : [...], # some curve
'b' : [...], # some curve
'c' : [...], # some curve
'd' : [...], # some curve}
Si quisiéramos graficar cada curva y hacer que la curva 'a'
fuera discontinua y llamar a esta gráfica "mi electrocardiograma cuando te veo :)", lo más sensato sería escribir código matplotlib
como tal:
import matplotlib . pyplot as plt
plt . plot ( data [ 'a' ], linestyle = 'dashed' , label = 'a' )
plt . plot ( data [ 'b' ], label = 'b' )
plt . plot ( data [ 'c' ], label = 'c' )
plt . plot ( data [ 'd' ], label = 'd' )
plt . title ( 'my ekg when i see you :)' )
plt . legend ()
plt . show ()
Sin embargo, con matplotlib_ai
es tan fácil como:
from matplotlib_ai . matplotlib_ai import matplotlib_ai
mpl_ai = matplotlib_ai ( "YOUR-OPENAI-API-KEY" )
prompt = "graph a curve for each item in data and title the graph 'my ekg when i see you :)'. " +
"Make curve 'a' in data a dashed line."
code = mpl_ai ( prompt )
Entonces, mpl_ai
generaría:
Para ver el código generado por GPT, simplemente imprímalo así:
>>> print(code) # the code generated by GPT
import matplotlib.pyplot as plt
for key, value in data.items():
if key == 'a':
plt.plot(value, linestyle='dashed', label=key)
else:
plt.plot(value, label=key)
plt.title('my ekg when i see you :)')
plt.legend()
plt.show()
Este proyecto se encuentra en sus primeras etapas, espero hacerlo más completo con el tiempo :)