matplotlib_ai
Есть ли у вас также отношения любви и ненависти к matplotlib? Я тоже! Вот почему я создал этот мини-проект, который поможет вам отобразить ваши данные в виде графика, используя естественный язык. Зависимости пакета требуют openai
и matplotlib
, и его невероятно легко использовать. Вызов GPT API OpenAI, быстрое проектирование и использование нескольких этапов обучения, matplotlib_ai
способен генерировать графики, не требуя от вас написания ни одной строки кода matplotlib
!
Импортируйте matplotlib_ai
через pip:
pip install matplotlib_ai
Допустим, у нас есть словарные data
с четырьмя кривыми, помеченными 'a'
, 'b'
, 'c'
и 'd'
:
import numpy as np
data = { 'a' : [...], # some curve
'b' : [...], # some curve
'c' : [...], # some curve
'd' : [...], # some curve}
Если бы мы хотели построить график каждой кривой, сделать кривую 'a'
пунктирной и назвать этот график «мой экг, когда я тебя увижу :)», наиболее разумным было бы написать код matplotlib
как таковой:
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 ()
Однако с matplotlib_ai
это так же просто:
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 )
Затем mpl_ai
сгенерирует:
Чтобы увидеть код, сгенерированный GPT, просто распечатайте его следующим образом:
>>> 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()
Этот проект находится на ранней стадии, я надеюсь со временем сделать его более комплексным :)