matplotlib_ai
Haben Sie auch eine Hassliebe zu Matplotlib? Ich auch! Aus diesem Grund habe ich dieses Miniprojekt erstellt, das Ihnen dabei helfen kann, Ihre Daten in natürlicher Sprache grafisch darzustellen. Die Paketabhängigkeiten erfordern openai
und matplotlib
und es ist unglaublich einfach zu verwenden. Durch den Aufruf der GPT-API von OpenAI, schnelles Engineering und die Verwendung von Fear-Shot-Learning ist matplotlib_ai
in der Lage, Diagramme zu generieren, ohne dass Sie eine einzige Zeile matplotlib
Code schreiben müssen!
matplotlib_ai
über pip importieren:
pip install matplotlib_ai
Angenommen, wir haben data
mit 4 Kurven mit den Bezeichnungen 'a'
, 'b'
, 'c'
und 'd'
:
import numpy as np
data = { 'a' : [...], # some curve
'b' : [...], # some curve
'c' : [...], # some curve
'd' : [...], # some curve}
Wenn wir jede Kurve grafisch darstellen und Kurve 'a'
gestrichelt machen wollten und diese Grafik „mein EKG, wenn ich dich sehe :)“ nennen wollten, wäre es am sinnvollsten, matplotlib
Code als solchen zu schreiben:
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 ()
Mit matplotlib_ai
ist es jedoch so einfach wie:
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 )
Dann würde mpl_ai
Folgendes generieren:
Um den von GPT generierten Code anzuzeigen, drucken Sie ihn einfach wie folgt aus:
>>> 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()
Dieses Projekt befindet sich noch in einem frühen Stadium, ich hoffe, es mit der Zeit umfassender machen zu können :)