Waffleplots are somehow missing from many plotting libraries, so here we go:

import numpy as np
import plotly.graph_objects as go
 
def plot_waffle_plot(v=1, dims=(10,10)):
    """ Plot Waffle plot with dimensions of *dim* and value v
    Args:
        v (int): value
        dims (Tuple[int, int]): dimensions of the waffle
    """
    z = np.zeros(dims)
    z.reshape(-1)[:v] = 1
    fig = go.Figure(go.Heatmap(
        x=[i for i in range(1, 10)], y=[i for i in range(1, 10)], z=z,
        xgap=1, ygap=1,
        colorscale=[[0.0, '#FFF7F3'],
                [1.0, "#49006A"]],
        showscale=False
    ))
    fig.update_layout(yaxis = dict(scaleanchor = 'x'))
    fig.update_layout(plot_bgcolor='rgba(0,0,0,0)')
    fig.update_yaxes(showticklabels=False)
    fig.update_xaxes(showticklabels=False)
    fig.show()
 
plot_waffle_plot(13)