### Bug description

Graphviz diagrams do not behave like other types of figures, their labels do not work, captions work only partially, and positioning in the margin only works in HTML, not in PDF.

### Steps to reproduce

````qmd
---
title: Example
format:
  pdf:
    papersize: a4
    fontsize: 9pt
    geometry:
     - showframe
  html:
    fontsize: 9pt
---

Hello world!

```{python}
# | label: fig-test
# | fig-cap: Beautiful blue bars.
# | column: margin
# | echo: false

import matplotlib.pyplot as plt

categories = ["A", "B", "C", "D"]
values = [10, 20, 15, 25]
plt.figure(figsize=(6, 3))
plt.barh(categories, values)
plt.show()
```

```{dot}
// | fig-label: causal-graph-1
// | fig-cap: Causal graph for observational analysis.
// | fig-width: 100px
// | fig-height: 100px
// | column: margin

digraph D {
  {W,X} -> {Y} [color=blue]
}
```

```{dot}
// | fig-label: causal-graph-2
// | fig-cap: Causal graph for observational analysis.
// | fig-width: 100px
// | fig-height: 100px
// | column: page

digraph D {
  {W,X} -> {Y} [color=blue]
}
```

```{dot}
// | fig-label: causal-graph-3
// | fig-cap: Causal graph for observational analysis.
// | fig-width: 100px
// | fig-height: 100px
// | column: body

digraph D {
  {W,X} -> {Y} [color=blue]
}
```

Have a look at @causal-graph-3 and at @fig-test!

````

### Expected behavior

> Diagrams can be treated as figures the same way that images and plot output are. [source](https://quarto.org/docs/authoring/diagrams.html#figures)

### Actual behavior

Unfortunately, there are multiple problems with Graphviz diagrams:

- They do not respect the `column: margin` attribute for PDF, but they do for HTML.
- They are not citable for both HTML and PDF.
- The "Figure: ..." prefix is not added to the figure for both HTML and PDF.

HTML:

<img width="1204" alt="image" src="https://github.com/quarto-dev/quarto-cli/assets/46022183/fc0d1a9a-160c-4837-aa3b-b7b7213c9ff7">

PDF:

<img width="684" alt="image" src="https://github.com/quarto-dev/quarto-cli/assets/46022183/fe0e3c7b-d63e-4a7b-b94d-3908c5168075">


### Your environment

- IDE: latest VSCode, but this is with quarto-cli
- OS: MacOS 13.4

### Quarto check output

```bash
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.1: OK
      Dart Sass version 1.55.0: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.3.361
      Path: /Applications/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.10.10
      Path: /Users/david/Repositories/protest-impact/.venv/bin/python
      Jupyter: 5.3.0
      Kernels: ir, python3

[✓] Checking Jupyter engine render....OK

[✓] Checking R installation...........OK
      Version: 4.2.1
      Path: /Library/Frameworks/R.framework/Resources
      LibPaths:
        - /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library
      knitr: 1.39
      rmarkdown: 2.14

[✓] Checking Knitr engine render......OK
```
cscheid
2023-06-21T15:13:55Z
davidpomerenke
bug crossref lint
v1.4
open
Graphviz figures are not treated as figures
https://github.com/quarto-dev/quarto-cli/issues/6000