Hi,
To detail the solution provided by my coworker, here a more detailed example:
1° Create a file system folder in the flow, lets call it "plots"
2° in your jupyter notebook, adapt the following code:
import dataiku
import numpy as np
import matplotlib.pyplot as plt
import io
from dataiku.core.managed_folder import Folder
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
plt.subplot(2, 1, 1)
plt.plot(x1, y1, 'o-')
plt.title('A tale of 2 subplots')
plt.ylabel('Damped oscillation')
plt.subplot(2, 1, 2)
plt.plot(x2, y2, '.-')
plt.xlabel('time (s)')
plt.ylabel('Undamped')
#plt.show()
bs = io.BytesIO()
plt.savefig(bs, format="png")
folder = Folder("plots")
folder.upload_stream("fig.png", bs.getvalue())
3° Come back to the flow, open the "plots" manager folder, fig.png should be present in it.
Cheers,
Mayeul
R&D
Hi,
You can create a Folder in the flow and store your figures in it. Then you can download them easily. The API to manipulate Folder is here: https://doc.dataiku.com/dss/latest/python-api/managed_folders.html
Cheers,
Du Phan
R&D
Hi,
To detail the solution provided by my coworker, here a more detailed example:
1° Create a file system folder in the flow, lets call it "plots"
2° in your jupyter notebook, adapt the following code:
import dataiku
import numpy as np
import matplotlib.pyplot as plt
import io
from dataiku.core.managed_folder import Folder
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
plt.subplot(2, 1, 1)
plt.plot(x1, y1, 'o-')
plt.title('A tale of 2 subplots')
plt.ylabel('Damped oscillation')
plt.subplot(2, 1, 2)
plt.plot(x2, y2, '.-')
plt.xlabel('time (s)')
plt.ylabel('Undamped')
#plt.show()
bs = io.BytesIO()
plt.savefig(bs, format="png")
folder = Folder("plots")
folder.upload_stream("fig.png", bs.getvalue())
3° Come back to the flow, open the "plots" manager folder, fig.png should be present in it.
Cheers,
Mayeul
R&D