Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reimplement Dataset and InferenceData using DimensionalData #191

Merged
merged 133 commits into from
Jul 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
f029fd2
Add DimensionalData as dependency
sethaxen Jun 22, 2022
c6e3c8b
Create lookup for group order
sethaxen Jun 22, 2022
fc0fe29
Implement Dataset using DimensionalData
sethaxen Jun 22, 2022
2b4c732
Remove methods defined in DimensionalData
sethaxen Jun 22, 2022
785993b
Deprecate indexing with strings
sethaxen Jun 22, 2022
b7143f1
Fix show method
sethaxen Jun 22, 2022
c84212a
Simplify dataset_to_dict implementation
sethaxen Jun 22, 2022
d1374ab
Implement converters to/from xarray
sethaxen Jun 22, 2022
d3643c1
Add accessor for wrapped data
sethaxen Jun 22, 2022
50dadc0
Update attribute get/setters
sethaxen Jun 22, 2022
110c62e
Fix deprecation of indexing
sethaxen Jun 22, 2022
6e584fb
Deprecate using a string for group name
sethaxen Jun 22, 2022
fbd1656
Remove xarray designations
sethaxen Jun 22, 2022
81421dc
Document non-allocating behavior
sethaxen Jun 22, 2022
5823fbe
Implement InferenceData as wrapping a dict of Datasets
sethaxen Jun 22, 2022
f0f7bd4
Update group accessors
sethaxen Jun 22, 2022
8e83594
Update property accessors
sethaxen Jun 22, 2022
d30fae9
Remove redundant constructors
sethaxen Jun 22, 2022
5238717
Update function implementations
sethaxen Jun 22, 2022
8b1f66d
Add hasgroup
sethaxen Jun 22, 2022
04c9514
Deprecate addition of InferenceData
sethaxen Jun 22, 2022
99a1e51
Add converters to/from xarray
sethaxen Jun 22, 2022
82c7fd0
Remove reference to xarray
sethaxen Jun 22, 2022
0b84b56
Implement merge and merge!
sethaxen Jun 22, 2022
ef140fb
Replace concat! with merge!
sethaxen Jun 22, 2022
19ded51
Don't use deprecated method
sethaxen Jun 22, 2022
9b9f0d9
Update diagnostics tests
sethaxen Jun 22, 2022
fe787fa
Increment version number
sethaxen Jun 22, 2022
73a6b62
Increment ArviZ version
sethaxen Jun 22, 2022
b30df68
Remove deprecation
sethaxen Jun 22, 2022
ed3ee65
Don't use xarray html reprs
sethaxen Jun 23, 2022
7371e4b
Add back plaintext show method
sethaxen Jun 23, 2022
6f07a5e
Make sure strings are mapped to symbols
sethaxen Jun 23, 2022
db12137
Let strings be strings
sethaxen Jun 23, 2022
b5cbb45
Convert dims to range if possible
sethaxen Jun 23, 2022
5d264f8
Use namedtuple backing for InferenceData
sethaxen Jun 23, 2022
d86ad5f
Make Dataset just wrap an AbstractDimStack
sethaxen Jun 23, 2022
4a1b5ff
Don't automatically convert xarray to Dataset
sethaxen Jun 23, 2022
f84205f
Don't assume InferenceData is mutable
sethaxen Jun 23, 2022
6cbc922
Correctly convert mixed type arrays
sethaxen Jun 24, 2022
c8e684f
Move xarray code to its own file
sethaxen Jun 24, 2022
5b6a12e
Collect Python interop at the end of file
sethaxen Jun 24, 2022
8a8c879
Collect dimensionaldata code
sethaxen Jun 24, 2022
1c86d70
Fix conversion from PyObject
sethaxen Jun 24, 2022
7082d01
Work around filter not being implemented for NamedTuple
sethaxen Jun 24, 2022
1da7500
Avoid using entire DimensionalData namespace
sethaxen Jun 24, 2022
a3aa171
Export Dataset
sethaxen Jun 25, 2022
70c0202
Revert "Export Dataset"
sethaxen Jun 25, 2022
36d69f6
Update dataset construction tests
sethaxen Jun 25, 2022
6d17890
Fix rebuild overload
sethaxen Jun 25, 2022
fda32ad
Remove getindex
sethaxen Jun 25, 2022
651e1e3
Reorganize convert methods
sethaxen Jun 25, 2022
ad069f4
Add and fix more tests
sethaxen Jun 25, 2022
47c69ea
Add and repair tests
sethaxen Jun 25, 2022
50bdd41
Use DimensionalData.index
sethaxen Jun 25, 2022
4baa011
Add DimensionalData to test suite
sethaxen Jun 25, 2022
0dccf81
Test Dataset to/from xarray conversion
sethaxen Jun 25, 2022
f827466
Update convert_to_dataset tests
sethaxen Jun 25, 2022
8d5ca0b
Use tuple method of index
sethaxen Jun 25, 2022
919409f
Generalize processing of python arrays
sethaxen Jun 25, 2022
31592f9
Use issetequal
sethaxen Jun 25, 2022
3abf4ce
Update convert_to_constant_dataset tests
sethaxen Jun 25, 2022
ede34d5
Update remaining dataset tests
sethaxen Jun 25, 2022
bbc8188
Make dataset tests a single testset
sethaxen Jun 25, 2022
dde4605
Repair dataset_to_dict
sethaxen Jun 26, 2022
2df7ea5
Run formatter
sethaxen Jun 26, 2022
b25926c
Allow accessing variables with properties
sethaxen Jun 26, 2022
f963b24
Rename varname to var_name
sethaxen Jun 26, 2022
4b9b5b6
Implement indexing and iteration interfaces
sethaxen Jun 26, 2022
a27898c
Get all supported groups
sethaxen Jun 26, 2022
6a1e95d
Make iteration type inferrable
sethaxen Jun 26, 2022
8b2b62b
Update many InferenceData tests
sethaxen Jun 26, 2022
b586cd8
Run formatter
sethaxen Jun 26, 2022
4c774ae
Update many tests
sethaxen Jun 26, 2022
f2f502d
Update conversion tests
sethaxen Jun 26, 2022
58d6435
Remove addition of InferenceDatas
sethaxen Jun 26, 2022
957af40
Test conversion to Python
sethaxen Jun 26, 2022
a10a494
Add helper function to check idatas are equal
sethaxen Jun 26, 2022
83a9573
Add dependencies
sethaxen Jul 2, 2022
825906a
Define default sample dims
sethaxen Jul 2, 2022
c1d4921
Define namedtuple_to_dataset
sethaxen Jul 2, 2022
6212e96
Implement convert_to_inference_data
sethaxen Jul 2, 2022
ccf6c80
Implement package_version
sethaxen Jul 2, 2022
9547c23
Add simpler forms of rekey
sethaxen Jul 2, 2022
28d0629
Use OrderedDict and add/get metadata to/from arrays
sethaxen Jul 2, 2022
86cfe83
Fix InferenceData docstring
sethaxen Jul 2, 2022
475a700
Update concat test
sethaxen Jul 2, 2022
1ad771e
Update helpers
sethaxen Jul 2, 2022
97e1feb
Add schema check
sethaxen Jul 2, 2022
1a4fa9d
Fix broken tests
sethaxen Jul 2, 2022
fc22fee
Run formatter
sethaxen Jul 3, 2022
15c66d0
Test namedtuple_to_dataset
sethaxen Jul 3, 2022
a87a113
Actually use convert_to_dataset
sethaxen Jul 3, 2022
f679d77
Update from_namedtuple
sethaxen Jul 3, 2022
1106e4a
Update docstrings
sethaxen Jul 3, 2022
39d3a4c
Add broken test for inferrability
sethaxen Jul 3, 2022
27a067b
Make sure dims and coords default to NamedTuple
sethaxen Jul 3, 2022
1610c3a
Update MCMCChains converter
sethaxen Jul 3, 2022
5b8f3b5
Update tests
sethaxen Jul 3, 2022
ed91315
Remove dead code
sethaxen Jul 3, 2022
d559aac
Make NamedTuple
sethaxen Jul 3, 2022
b325688
Update docstrings
sethaxen Jul 3, 2022
e9d0e7c
Update test dependencies
sethaxen Jul 3, 2022
b0323e5
Mark as dev release
sethaxen Jul 3, 2022
c211d0a
Update mpl_examples.md
sethaxen Jul 3, 2022
9475e1e
Update quickstart.jl
sethaxen Jul 3, 2022
829f99c
Always pass an array
sethaxen Jul 3, 2022
944f622
Don't send a NamedTuple to Python
sethaxen Jul 3, 2022
31ec24f
Run formatter
sethaxen Jul 3, 2022
5a145f9
Update storage documentation
sethaxen Jul 3, 2022
ab7aec3
Avoid patterns that poorly convert to Python types
sethaxen Jul 3, 2022
427c01a
Revert back to String
sethaxen Jul 3, 2022
f2d64c8
Reduce indentation in REPL display of InferenceData
sethaxen Jul 3, 2022
32b154a
Convert special arrays to raw arrays for plot_kde
sethaxen Jul 3, 2022
f8869ce
Test package_version
sethaxen Jul 3, 2022
e958b6c
Remove outdated reference to convert_to_constant_dataset
sethaxen Jul 3, 2022
b4b693d
Fix typo
sethaxen Jul 3, 2022
c4cbe7f
Fix typo
sethaxen Jul 3, 2022
ac2a1eb
Don't export undefined function
sethaxen Jul 3, 2022
6ffd10d
Remove concat! from API docs
sethaxen Jul 3, 2022
f174dac
Make tests work for Julia 1.6
sethaxen Jul 3, 2022
83b7c5a
Avoid setting dims and coords unless defined
sethaxen Jul 3, 2022
5e3a6a0
Remove unused function
sethaxen Jul 3, 2022
cd87c48
Merge PyObject conversion functions
sethaxen Jul 3, 2022
afa18f6
Don't drop directly to Python
sethaxen Jul 3, 2022
3f460ae
Add missing tests
sethaxen Jul 3, 2022
7238959
Test default_var_name
sethaxen Jul 3, 2022
2bb33f5
Generalize convert function
sethaxen Jul 3, 2022
51e9089
Add missing tests
sethaxen Jul 3, 2022
9afc657
Test using type for dimension
sethaxen Jul 9, 2022
17072ee
Test prior_predictive as Chains
sethaxen Jul 9, 2022
54d396d
Add missing tests
sethaxen Jul 9, 2022
c40249c
Repair rekey for Dict
sethaxen Jul 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
name = "ArviZ"
uuid = "131c737c-5715-5e2e-ad31-c244f01c1dc7"
authors = ["Seth Axen <seth.axen@gmail.com>"]
version = "0.5.22"
version = "0.6.0-DEV"

[deps]
Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
DimensionalData = "0703355e-b756-11e9-17c0-8b28908087d0"
LogExpFunctions = "2ab3a3ac-af41-5b50-aa03-7779005ae688"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
PSIS = "ce719bf2-d5d0-4fb9-925d-10a81b42ad04"
PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
Expand All @@ -18,7 +21,9 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
[compat]
Conda = "1.0"
DataFrames = "0.20, 0.21, 0.22, 1.0"
DimensionalData = "0.20"
LogExpFunctions = "0.2.0, 0.3"
OrderedCollections = "1"
PSIS = "0.2, 0.3, 0.4, 0.5"
PyCall = "1.91.2"
PyPlot = "2.8.2"
Expand Down
2 changes: 1 addition & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Soss = "8ce77f84-9b61-11e8-39ff-d17a774bf41c"
Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"

[compat]
ArviZ = "0.5"
ArviZ = "0.6"
CmdStan = "6.0"
Distributions = "0.25"
Documenter = "0.27"
Expand Down
1 change: 0 additions & 1 deletion docs/src/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
| [`from_mcmcchains`](@ref) | Convert `MCMCChains` data into an `InferenceData`. |
| [`from_samplechains`](@ref) | Convert `SampleChains` data into an `InferenceData`. |
| [`concat`](@ref) | Concatenate `InferenceData` objects. |
| [`concat!`](@ref) | Concatenate `InferenceData` objects in-place. |

## [Utils](@id utils-api)

Expand Down
5 changes: 3 additions & 2 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ These functions are not exported to reduce namespace clutter.
For `InferenceData` inputs, [`summarystats`](@ref) replaces `arviz.summary` to avoid confusion with `Base.summary`.
For arbitrary inputs and the full functionality of `arviz.summary`, use [`ArviZ.summary`](@ref), which is not exported.

ArviZ.jl transparently interconverts between `arviz.InferenceData` and our own [`InferenceData`](@ref), used for dispatch.
`InferenceData` has identical usage to its Python counterpart.
While Python ArviZ is built on xarray, and `InferenceData` groups are `xarray.Dataset`s, ArviZ.jl is built on [DimensionalData.jl](https://rafaqz.github.io/DimensionalData.jl/stable/), and `InferenceData` groups are `DimensionalData.AbstractDimStack`s that have identical usage to [`DimensionalData.DimStack`](https://rafaqz.github.io/DimensionalData.jl/stable/api/#DimensionalData.DimStack).
When ArviZ.jl uses functionality implemented in Python, it transparently interconverts `InferenceData` to/from `arviz.InferenceData`.
Going to Python, this is non-allocating.

Functions that in ArviZ return Pandas types here return [DataFrames.jl](https://github.com/JuliaData/DataFrames.jl) types.

Expand Down
86 changes: 43 additions & 43 deletions docs/src/mpl_examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("centered_eight")
plot_autocorr(data; var_names=("tau", "mu"))
plot_autocorr(data; var_names=[:tau, :mu])

gcf()
```
Expand Down Expand Up @@ -48,7 +48,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("regression1d")
plot_bpv(data; kind="t_stat", t_stat="0.5")
plot_bpv(data; kind=:t_stat, t_stat="0.5")

gcf()
```
Expand Down Expand Up @@ -91,7 +91,7 @@ non_centered_data = load_arviz_data("non_centered_eight")
plot_density(
[centered_data, non_centered_data];
data_labels=["Centered", "Non Centered"],
var_names=["theta"],
var_names=[:theta],
shade=0.1,
)

Expand Down Expand Up @@ -169,7 +169,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

idata = load_arviz_data("radon")
plot_ess(idata; var_names=["b"], kind="evolution")
plot_ess(idata; var_names=[:b], kind=:evolution)

gcf()
```
Expand All @@ -186,7 +186,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

idata = load_arviz_data("non_centered_eight")
plot_ess(idata; var_names=["mu"], kind="local", marker="_", ms=20, mew=2, rug=true)
plot_ess(idata; var_names=[:mu], kind=:local, marker="_", ms=20, mew=2, rug=true)

gcf()
```
Expand All @@ -203,7 +203,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

idata = load_arviz_data("radon")
plot_ess(idata; var_names=["sigma"], kind="quantile", color="C4")
plot_ess(idata; var_names=[:sigma], kind=:quantile, color="C4")

gcf()
```
Expand All @@ -224,7 +224,7 @@ non_centered_data = load_arviz_data("non_centered_eight")
plot_forest(
[centered_data, non_centered_data];
model_names=["Centered", "Non Centered"],
var_names=["mu"],
var_names=[:mu],
)
title("Estimated theta for eight schools model")

Expand All @@ -245,12 +245,12 @@ ArviZ.use_style("arviz-darkgrid")
rugby_data = load_arviz_data("rugby")
plot_forest(
rugby_data;
kind="ridgeplot",
var_names=["defs"],
kind=:ridgeplot,
var_names=[:defs],
linewidth=4,
combined=true,
ridgeplot_overlap=1.5,
colors="blue",
colors=:blue,
figsize=(9, 4),
)
title("Relative defensive strength\nof Six Nation rugby teams")
Expand All @@ -276,7 +276,7 @@ x_data = randn(100)
y_data = 2 .+ x_data .* 0.5
y_data_rep = 0.5 .* randn(200, 100) .+ transpose(y_data)
plot(x_data, y_data; color="C6")
plot_hdi(x_data, y_data_rep; color="k", plot_kwargs=Dict("ls" => "--"))
plot_hdi(x_data, y_data_rep; color=:k, plot_kwargs=Dict(:ls => "--"))

gcf()
```
Expand All @@ -295,9 +295,9 @@ ArviZ.use_style("arviz-darkgrid")
data = load_arviz_data("non_centered_eight")
plot_pair(
data;
var_names=["theta"],
coords=Dict("school" => ["Choate", "Phillips Andover"]),
kind="hexbin",
var_names=[:theta],
coords=Dict(:school => ["Choate", "Phillips Andover"]),
kind=:hexbin,
marginals=true,
figsize=(10, 10),
)
Expand All @@ -319,16 +319,16 @@ ArviZ.use_style("arviz-darkgrid")
data = load_arviz_data("centered_eight")

## Combine different posterior draws from different chains
obs = data.posterior_predictive["obs"].values
obs = data.posterior_predictive.obs
size_obs = size(obs)
y_hat = reshape(obs, prod(size_obs[1:2]), size_obs[3:end]...)

plot_kde(
y_hat;
label="Estimated Effect\n of SAT Prep",
rug=true,
plot_kwargs=Dict("linewidth" => 2, "color" => "black"),
rug_kwargs=Dict("color" => "black"),
plot_kwargs=Dict(:linewidth => 2, :color => :black),
rug_kwargs=Dict(:color => :black),
)

gcf()
Expand Down Expand Up @@ -405,7 +405,7 @@ ArviZ.use_style("arviz-darkgrid")

idata = load_arviz_data("radon")

plot_loo_pit(idata; y="y", ecdf=true, color="maroon")
plot_loo_pit(idata; y=:y, ecdf=true, color=:maroon)

gcf()
```
Expand All @@ -422,7 +422,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

idata = load_arviz_data("non_centered_eight")
plot_loo_pit(; idata, y="obs", color="indigo")
plot_loo_pit(; idata, y=:obs, color=:indigo)

gcf()
```
Expand All @@ -439,7 +439,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("centered_eight")
plot_mcse(data; var_names=["tau", "mu"], rug=true, extra_methods=true)
plot_mcse(data; var_names=[:tau, :mu], rug=true, extra_methods=true)

gcf()
```
Expand All @@ -456,7 +456,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("radon")
plot_mcse(data; var_names=["sigma_a"], color="C4", errorbar=true)
plot_mcse(data; var_names=[:sigma_a], color="C4", errorbar=true)

gcf()
```
Expand All @@ -473,9 +473,9 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

centered = load_arviz_data("centered_eight")
coords = Dict("school" => ["Choate", "Deerfield"])
coords = Dict(:school => ["Choate", "Deerfield"])
plot_pair(
centered; var_names=["theta", "mu", "tau"], coords, divergences=true, textsize=22
centered; var_names=[:theta, :mu, :tau], coords, divergences=true, textsize=22
)

gcf()
Expand All @@ -493,11 +493,11 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

centered = load_arviz_data("centered_eight")
coords = Dict("school" => ["Choate", "Deerfield"])
coords = Dict(:school => ["Choate", "Deerfield"])
plot_pair(
centered;
var_names=["theta", "mu", "tau"],
kind="hexbin",
var_names=[:theta, :mu, :tau],
kind=:hexbin,
coords,
colorbar=true,
divergences=true,
Expand All @@ -518,11 +518,11 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

centered = load_arviz_data("centered_eight")
coords = Dict("school" => ["Choate", "Deerfield"])
coords = Dict(:school => ["Choate", "Deerfield"])
plot_pair(
centered;
var_names=["theta", "mu", "tau"],
kind="kde",
var_names=[:theta, :mu, :tau],
kind=:kde,
coords,
divergences=true,
textsize=22,
Expand All @@ -543,15 +543,15 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

centered = load_arviz_data("centered_eight")
coords = Dict("school" => ["Choate", "Deerfield"])
coords = Dict(:school => ["Choate", "Deerfield"])
plot_pair(
centered;
var_names=["mu", "theta"],
kind=["scatter", "kde"],
kde_kwargs=Dict("fill_last" => false),
var_names=[:mu, :theta],
kind=[:scatter, :kde],
kde_kwargs=Dict(:fill_last => false),
marginals=true,
coords,
point_estimate="median",
point_estimate=:median,
figsize=(10, 8),
)

Expand All @@ -570,7 +570,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("centered_eight")
ax = plot_parallel(data; var_names=["theta", "tau", "mu"])
ax = plot_parallel(data; var_names=[:theta, :tau, :mu])
ax.set_xticklabels(ax.get_xticklabels(); rotation=70)
draw()

Expand All @@ -589,8 +589,8 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("centered_eight")
coords = Dict("school" => ["Choate"])
plot_posterior(data; var_names=["mu", "theta"], coords, rope=(-1, 1))
coords = Dict(:school => ["Choate"])
plot_posterior(data; var_names=[:mu, :theta], coords, rope=(-1, 1))

gcf()
```
Expand All @@ -607,7 +607,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("non_centered_eight")
plot_ppc(data; data_pairs=Dict("obs" => "obs"), alpha=0.03, figsize=(12, 6), textsize=14)
plot_ppc(data; data_pairs=Dict(:obs => :obs), alpha=0.03, figsize=(12, 6), textsize=14)

gcf()
```
Expand All @@ -624,7 +624,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("non_centered_eight")
plot_ppc(data; alpha=0.3, kind="cumulative", figsize=(12, 6), textsize=14)
plot_ppc(data; alpha=0.3, kind=:cumulative, figsize=(12, 6), textsize=14)

gcf()
```
Expand All @@ -641,7 +641,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("centered_eight")
plot_rank(data; var_names=("tau", "mu"))
plot_rank(data; var_names=[:tau, :mu])

gcf()
```
Expand All @@ -658,7 +658,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("classification10d")
plot_separation(data; y="outcome", y_hat="outcome", figsize=(8, 1))
plot_separation(data; y=:outcome, y_hat=:outcome, figsize=(8, 1))

gcf()
```
Expand All @@ -675,7 +675,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("non_centered_eight")
plot_trace(data; var_names=("tau", "mu"))
plot_trace(data; var_names=[:tau, :mu])

gcf()
```
Expand All @@ -692,7 +692,7 @@ using ArviZ
ArviZ.use_style("arviz-darkgrid")

data = load_arviz_data("non_centered_eight")
plot_violin(data; var_names=["mu", "tau"])
plot_violin(data; var_names=[:mu, :tau])

gcf()
```
Expand Down
Loading