```
SeedRandom(1)
xy = RandomSample(Tuples(Range(0, 10), 2), 10);
z = RandomReal(1, 10);
xyz = Join(xy, List /@ z, 2)
```

```
{{9, 5, 0.941699}, {7, 3, 0.294264}, {1, 3, 0.188274}, {0, 0, 0.761529},
{6, 1, 0.169824}, {0, 3, 0.455359}, {5, 10, 0.75425}, {9, 1, 0.268291},
{2, 1, 0.147377}, {8, 9, 0.480659}}
```

### Graphics

```
graphics = Graphics({EdgeForm(Gray), Hue @ #3, Rectangle({#, #2})} & @@@ xyz,
Frame -> True);
legend = SwatchLegend(Hue /@ xyz((All, -1)), Defer /@ xyz);
Legended(graphics, legend)
```

### BubbleChart

```
BubbleChart(xyz, ChartStyle -> (Hue /@ xyz((All, -1))),
ChartElementFunction -> (Rectangle(Mean /@ #) &),
PlotRange -> {{0, 11}, {0, 11}},
ChartLegends -> {Defer /@ xyz})
```

### DensityHistogram

```
DensityHistogram(WeightedData(xyz((All, ;; 2)), xyz((All, -1))), {1},
ColorFunction -> Hue, BaseStyle -> EdgeForm(Gray),
ChartElementFunction -> (Rectangle(Mean /@ #) &),
ColorFunctionScaling -> False,
ChartLegends -> SwatchLegend(Hue /@ xyz((All, -1)), Defer /@ xyz))
```

### ListPlot

```
Legended(ReplaceAll(Point -> (Rectangle@*First))@
ListPlot(List /@ xyz((All, ;; 2)),
PlotStyle -> Hue /@ xyz((All, -1)), BaseStyle -> EdgeForm(Gray),
AspectRatio -> 1, Frame -> True, PlotRange -> {{0, 10}, {0, 11}},
PlotRangePadding -> .2), legend)
```

### Update

To have *“the plot legend to look something like the likes of DensityPlot/ArrayPlot”*, replace `legend`

above with `barlegend1`

or `barlegend2`

, where

```
barlegend1 = BarLegend({Hue, MinMax@xyz((All, -1))});
barlegend2 = BarLegend({Hue, MinMax@xyz((All, -1))}, xyz((All, -1)));
Row({barlegend1, barlegend2}, Spacer(20))
```

Replace `Hue`

with `ColorData("M10DefaultDensityGradient")`

to use the default color scheme for `DensityPlot`

:

```
barlegend1 = BarLegend({"M10DefaultDensityGradient", MinMax@xyz((All, -1))});
barlegend2 = BarLegend({"M10DefaultDensityGradient", MinMax@xyz((All, -1))},
xyz((All, -1)));
Row({barlegend1, barlegend2}, Spacer(20))
```

```
Legended(Graphics({EdgeForm(Gray), Opacity(1),
ColorData("M10DefaultDensityGradient") @ #3, Rectangle({#, #2})} & @@@ xyz,
Frame -> True),
barlegend2)
```

```
BubbleChart(xyz,
ChartStyle -> (ColorData("M10DefaultDensityGradient") /@ xyz((All, -1))),
ChartElementFunction -> (Rectangle(Mean /@ #) &),
PlotRange -> {{0, 11}, {0, 11}}, ChartLegends -> barlegend2)
```

For `DensityHistogram`

, just remove the option `ColorFunction -> Hue`

:

```
DensityHistogram(WeightedData(xyz((All, ;; 2)), xyz((All, -1))), {1},
ChartElementFunction -> (Rectangle(Mean /@ #) &),
ChartLegends -> BarLegend(Automatic, xyz((All, -1))))
```