Прежде всего, вам нужно установить клиент облачного хранилища Google для Python через pip install google-cloud-storage
. Затем импортируйте его в свой код.
Затем вы можете создать буфер, в котором вы временно сохраните выходные данные метода savefig
Matplotlib перед загрузкой этого буфера в облачное хранилище Google с помощью метода upload_from_string
в blob
.
Вот полный пример использования вашего кода:
import io
from google.cloud import storage
client = storage.Client(project='your-gcp-project-id')
bucket = client.bucket('your-gcs-bucket-name')
blob = bucket.blob('your-filename.png')
x = data
# the histogram of the data
n, bins, patches = plt.hist(x, 25, normed=1, facecolor='green', alpha=0.75)
# add a 'best fit' line
y = mlab.normpdf( bins, mu, sigma)
l = plt.plot(bins, y, 'r--', linewidth=1)
plt.xlabel('X-Axis')
plt.ylabel('Probability')
plt.title(r'Histogram ')
plt.grid(True)
# temporarily save image to buffer
buf = io.BytesIO()
plt.savefig(buf, format='png')
# upload buffer contents to gcs
blob.upload_from_string(
buf.getvalue(),
content_type='image/png')
buf.close()
# gcs url to uploaded matplotlib image
url = blob.public_url