Я хотел бы иметь возможность использовать графики, созданные в Python (т.е. графики, сгенерированные из matplotlib или seaborn) в моих книгах Tableau. Посмотрите код ниже в моей попытке сделать простой синусоидальный график и показать его в рабочей таблице Tableau. Как вы можете видеть на прилагаемом изображении , я получаю только строку, переданную в книгу Tableau, а не визуализированную фигуру. Как я могу решить эту проблему?
import json
import base64
import numpy as np
import math
import matplotlib.pyplot as plt
from tabpy.tabpy_tools.client import Client
connection = Client('http://localhost:9004/')
def SinePlot(freq, amp):
x = np.array(np.linspace(1,100,100))
y = []
for i in range(len(x)):
y_i = math.sin(x[i])
y.append(y_i)
i += 1
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(x, y)
plt.title('Sine Wave')
plt.legend('sin')
fig.savefig('plot.png')
data = {}
with open('plot.png', mode='rb') as file:
img = file.read()
data['img'] = base64.encodebytes(img).decode("utf-8")
answer = json.dumps(data)
return answer
connection.deploy('SinePlot Func',
SinePlot,
'Plots a sine wave', override = True)
print('done')