<a id="Eunoia.EulerFit"></a>

# Eunoia.EulerFit

Julia · 1.0.1

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

```julia
EulerFit{S} <: AbstractEulerFit{S}
```

```julia
EulerFit{S}
```

Result of fitting an area-proportional Euler diagram with shapes of type `S`. 

Fields: 

- `shapes`: fitted shapes, one per input set, in input order.
- `original_values`: the requested exclusive area per region (keyed by combination string, e.g. `"A&B"`).
- `fitted_values`: the fitted exclusive area per region.
- `residuals`: `original_values − fitted_values` per region.
- `region_error`: per-region error (always in exclusive form).
- `diag_error`: eulerAPE-style worst-case region error.
- `stress`: venneuler-style stress metric.
- `loss`: final value of the optimizer's objective.
- `iterations`: optimizer iteration count.
- `container`: the fitted universe box when fit with a `complement`, else `nothing`.

The `plot_data` field holds the native renderable geometry (region polygons and label anchors); it backs plotting and is not part of the stable public API. 

<a id="fields"></a>

## Fields

<a id="field-shapes"></a>

### `shapes::Vector{S}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-original_values"></a>

### `original_values::Dict{String, Float64}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-fitted_values"></a>

### `fitted_values::Dict{String, Float64}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-residuals"></a>

### `residuals::Dict{String, Float64}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-region_error"></a>

### `region_error::Dict{String, Float64}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-diag_error"></a>

### `diag_error::Float64`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-stress"></a>

### `stress::Float64`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-loss"></a>

### `loss::Float64`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-iterations"></a>

### `iterations::Int`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-container"></a>

### `container::Union{Container, Nothing}`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)

<a id="field-plot_data"></a>

### `plot_data::JSON3.Object`

[Source](<https://github.com/jolars/Eunoia.jl/blob/db1275ffc768591b8c9271c56d8dfa2f3351bfcd/src/types.jl>)
