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

Adding Plot ESS Evolution #71

Merged
merged 2 commits into from
Oct 17, 2024
Merged

Conversation

imperorrp
Copy link
Collaborator

@imperorrp imperorrp commented Jul 16, 2024

First commit for plot_ess_evolution(), as a branched off plot from legacy plot_ess for kind = 'evolution' (#5). The line_xy and scatter_xy visual elements were used for the plotting, with rug plot, axes labelling and title labelling functionality taken from ESS plot functionality. Since the ESS plot PR hasn't been merged yet, the scatter_xy visual element was duplicated for use here.

WIP:

Marking the 'bulk' and 'tail' artists with a legend

Current plot outputs:

azp.plot_ess_evolution(data)
image

azp.plot_ess_evolution(data, var_names=["mu", "tau"])
image


📚 Documentation preview 📚: https://arviz-plots--71.org.readthedocs.build/en/71/

@codecov-commenter
Copy link

codecov-commenter commented Jul 16, 2024

Codecov Report

Attention: Patch coverage is 94.76440% with 10 lines in your changes missing coverage. Please review.

Project coverage is 86.47%. Comparing base (3cc46aa) to head (ea60c47).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/arviz_plots/plots/evolutionplot.py 94.73% 10 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #71      +/-   ##
==========================================
+ Coverage   85.65%   86.47%   +0.81%     
==========================================
  Files          22       23       +1     
  Lines        2545     2736     +191     
==========================================
+ Hits         2180     2366     +186     
- Misses        365      370       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Comment on lines 91 to 101
Valid keys are:
* "bulk" -> passed to :func:`~arviz_plots.visuals.scatter_xy` and
:func:`~arviz_plots.visuals.line_xy`
* "tail" -> passed to :func:`~arviz_plots.visuals.scatter_xy` and
:func:`~arviz_plots.visuals.line_xy`
* divergence -> passed to :func:`~.visuals.trace_rug`
* title -> passed to :func:`~arviz_plots.visuals.labelled_title`
* label -> passed to :func:`~arviz_plots.visuals.labelled_x` and
:func:`~arviz_plots.visuals.labelled_y`
* mean -> passed to WIP
* sd -> passed to WIP
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lists in rST need an empty line before and after to be rendered correctly.

Comment on lines 109 to 106
Passed to :class:`arviz_plots.PlotCollection.wrap`
Returns
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Passed to :class:`arviz_plots.PlotCollection.wrap`
Returns
Passed to :class:`arviz_plots.PlotCollection.wrap`
Returns

this also needs a white line to separate the sections

Comment on lines 155 to 157
x_diff = 1 / n_points
if "x" not in pc_kwargs:
pc_kwargs["x"] = np.linspace(-x_diff / 3, x_diff / 3, distribution.sizes["model"])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
x_diff = 1 / n_points
if "x" not in pc_kwargs:
pc_kwargs["x"] = np.linspace(-x_diff / 3, x_diff / 3, distribution.sizes["model"])
n_models = distribution.sizes["model"]
x_diff = min(1 / n_points / 3, 1 / n_points * n_models / 10)
pc_kwargs.setdefault("x", np.linspace(-x_diff, x_diff, n_models))

Seeing the plot now, 1/3 would probably look good for several models, but for only 2 of them the points end up equispaced (the model1 point corresponding to quantile 0 is as far from the model0 point corresponding to quantile 0 than from the model0 point corresponding to quantile 0.05). This change will result in smaller spacing with small number of models, but never going over 1/3 of the available space.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought I was reviewing the plot_ess PR. Having x with an aesthetic mapping here makes no sense and should be completely removed.

Comment on lines 179 to 182
aes_map.setdefault("mean", plot_collection.aes_set)
aes_map.setdefault("mean", ["linestyle", "-"])
aes_map.setdefault("sd", plot_collection.aes_set)
aes_map.setdefault("sd", ["linestyle", "-"])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think by default we don't want any aesthetic mapping to be applied to either mean nor sd, so I would remove these 4 lines. Also note the lines 2 and 4 are not doing anything because the lines right before already define that key, but if they did, it would be incorrect. Values in the aes_map dict should be sets of strings that represent aesthetics.

This seems a confusion with setting a default linestyle in plot_kwargs. If you want an aesthetic property to always have the same value, use plot_kwargs if instead you want it to depend on a dimension/variable use aes in pc_kwargs to define the mapping and aes_map to indicate to which visual elements should the mapping be applied too.

There is nothing about this concepts in https://arviz-plots.readthedocs.io/en/latest/contributing/new_plot.html because that doc is for writing plots and these are usage questions which are therefore out of scope. The usage docs are instead https://arviz-plots.readthedocs.io/en/latest/tutorials/plots_intro.html and to a much lesser extent https://arviz-plots.readthedocs.io/en/latest/tutorials/intro_to_plotcollection.html

:func:`~arviz_plots.visuals.line_xy`
* "tail" -> passed to :func:`~arviz_plots.visuals.scatter_xy` and
:func:`~arviz_plots.visuals.line_xy`
* divergence -> passed to :func:`~.visuals.trace_rug`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This key should be "rug" instead. The most common thing to use (and therefore default for rug_kind are divergences) but they are not the only option. As we agreed on smaller set of fixed keys in #66, I think this key should be "rug" instead of rug_kind.

Note this will require multiple changes in the function code

Comment on lines 313 to 353
if rug:
sample_stats = get_group(dt, "sample_stats", allow_missing=True)
divergence_kwargs = copy(plot_kwargs.get("divergence", {}))
if (
sample_stats is not None
and "diverging" in sample_stats.data_vars
and np.any(sample_stats[rug_kind]) # 'diverging' by default
and divergence_kwargs is not False
):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a check like in plot_forest to raise an error if plot_kwargs["rug"] is False given there is a top level kwarg for it

Comment on lines 318 to 351
and "diverging" in sample_stats.data_vars
and np.any(sample_stats[rug_kind]) # 'diverging' by default
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

careful with this

Comment on lines 329 to 362
# if "width" not in div_aes: # should this be hardcoded?
# divergence_kwargs.setdefault("width", linewidth)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure, you'll have to check both backends behaviour. I seem to remember in some cases the default was 0 which meant nothing got plotted, if that were the case then we'd need a default here (which you can get the same way you get the default color).

Copy link
Collaborator Author

@imperorrp imperorrp Jul 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried this with bokeh, seems like there definitely is some default that isn't zero when no linewidth is used-

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

then no need to set it, you can delete these lines

ylabel = ylabel.format("Relative ESS")
else:
ylabel = ylabel.format("ESS")
xlabel = "Total Number of Draws"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
xlabel = "Total Number of Draws"
xlabel = sample_dims[0] if len(sample_dims) == 1 else "Total Number of Draws"

Plus, I would add that into label_kwargs as text key so it can be modified if desired. Consequently a single "label" key can be used anymore, otherwise it would be impossible to set different names

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So "xlabel", "ylabel" as two separate keys, right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

Comment on lines 412 to 415
# plot x and y axis labels
# Add varnames as x and y labels
_, labels_aes, labels_ignore = filter_aes(plot_collection, aes_map, "label", sample_dims)
label_kwargs = plot_kwargs.get("label", {}).copy()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

labels also need the "False" value to be available and have an effect

@imperorrp
Copy link
Collaborator Author

Updated plot_ess_evolution. The points and lines for both 'bulk' and 'tail' methods can now be turned on and off via plot_kwargs, the mean, sd, and min_ess were added following the current plot_ess logic, and xlabel and ylabel texts can also now be set separately.

Also added a common ess_dataset computing function since it can be called upto 4 times (one for each of the cartesian product of 'bulk', 'tail' and points, lines).

The rug plot element is still WIP.

The outputs without the rug are now like:
image

image

image

An aesthetics issue with the color coding of the mean/sd plot elements:

For the mean/sd plotting (and this'd similarly apply to plot_ess too) it looks like setting mean and sd to one color by default as I'm doing currently makes it hard to interpret that they have been overlapped when they coincide:
image

When they're not set to the same color, it's visible that they coincide and are overlapped but then the colors might be confusing as they correspond to the 'bulk' and 'tail' plotting elements' colors too:
image

@imperorrp
Copy link
Collaborator Author

Rebased plot ess evolution commits

@imperorrp
Copy link
Collaborator Author

The mean and sd lines are now annotated:

image

Should the min_ess line also be annotated? (This also applies for ESS plot #58 ). Current Arviz ESS plot doesn't have it annotated (https://github.com/arviz-devs/arviz/blob/main/arviz/plots/backends/matplotlib/essplot.py#L150) but it would probably be nice to have and is easy to add.

@imperorrp
Copy link
Collaborator Author

Fixed hypothesis tests errors and documentation build

@imperorrp imperorrp mentioned this pull request Sep 4, 2024
updated plot_ess_evolution including a common ess_dataset computing func

added mean and sd annotations like essplot

docs and example gallery for plot_ess_evolution

updated verticalalign logic for mean/sd and correct (although overlaid and not flattened yet) rug is now displayed

removed rug plot

added tests

updated scatter_xy func to plot_ess version

fixed docstring

altered store_artist for xlabel, ylabel and modified hypothesis tests

shifted mean_ess, sd_edd computing to before plot_kwargs check+artist plotting logic

updated docstring, added figsizing and set vertical_align for mean and sd text kwargs as setdefault

removed 'rankdata' branch of arviz-stats from dependencies

docstring typo fix

gallery-generator updated for documentation building
@OriolAbril OriolAbril merged commit 71223f5 into arviz-devs:main Oct 17, 2024
4 checks passed
PiyushPanwarFST pushed a commit to PiyushPanwarFST/arviz-plots that referenced this pull request Mar 1, 2025
improve plot_posterior and add tests for it

add minimal docstrings

add init to test folder

update plot_posterior

add some docs

add docs and implement some feedback

improve api docs

ignore mystnb warning

add plot_trace (arviz-devs#1)

* add trace plot

* use convert_to_datatree in tests

* fix linters

* Add to draft API docs

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

rename plot_posterior and small improvements

fix test

rename source file

add style

add styles

update intro plotcollection

update intro plotcollection

add ecdf to distplot

draft trace_dens

draft trace_dens

draft

Update src/arviz_plots/plots/tracedensplot.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Update src/arviz_plots/plots/tracedensplot.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Update src/arviz_plots/plots/utils.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Update src/arviz_plots/plots/utils.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

fix missing argument

try fixing docs

fix docs

Issue was due to wrong handling of try except.
To avoid depending on matplotlib, it is imported within a try except to
register the colormaps and styles, but then it is deleted from the
namespace which was happening outside the try except and so arviz_plots
failed to import on envs without matplotlib

rename dens -> dist

update api index

Add legend method to PlotCollection and improve docs (arviz-devs#32)

* start work on legend and improve docs

* add anchor placeholder

* work on docs

* add backend functions to docs and improve plot_collection docs

* add missing files

* extend api docs

* first attempt at bokeh legend

* make no-duplication of backend api docs work

* run pre-commit

* fix and docs on generate_aes_dt

* doc improvements

* some doc extensions

* improve plot_dist docs

* fix bokeh legend generation

* add warning to legend method

Add plot_forest and tests (arviz-devs#34)

* some improvements to PlotCollection

* add classmethod tests

* add more tests

* add divergences to plot_trace

* extend tests

* add divergence data to test_plots

* add plot_forest draft

For everything to work, the following features were added to:
* support for "__variable__" in aesthetics
* default values for common aesthetics
* support for dict of datatree input -> multiple models aligned within the same plot

* add labels to plot_forest

still some backend elements missing for bokeh

* further improvements to plot_forest

* invert y aes to preserve order top-down

* improvements to aes_map defaults and shading

* attempt support for InferenceData inputs

* plot_dist support for multiple models and docs

* update dependencies

* add more tests

* raise error on wrong use of combined

* better support for aesthetics in labels elements

Add neutral element concept to aes generation (arviz-devs#35)

* First try at neutral element

* Fix syntax

* Try fixing syntax and improve readability

* Fix shade aes default

* update and extend tests

* update aes_dt to aes_dict conversion

* run tests with coverage on CI

Fixes and improvements to plot_trace_dist (arviz-devs#36)

* very rough draft to fix aesthetic mapping defaults

* fix plot_trace_dist and add tests

* use neutral element for combined elements

* add example to plot_trace

Extend and rerun tutorials (arviz-devs#38)

* add xlabel to plot_trace

* rerun plots_intro notebook

* update leftover arviz-base references

* write use plotcollection notebook and some improvements

* fix scale_fig_size defaults

* switch docs theme, default to light version

PlotCollection coords attribute for better composability (arviz-devs#39)

* prepare reuse of plotting functions

* call plot_trace within plot_trace_dist

* use plot_dist in plot_trace_dist

* add contributing section to docs

* fix doc warnings

* fix dark-light issue with backend logos

* write new_plot docs

* improve neutral element behaviour and docs

* fix a couple cross-references

add none backend and hypothesis tests (arviz-devs#41)

* add none backend and hypothesis tests

* add more tests with hypothesis and scheduled actions

* fix hypothesis yaml syntax

* use unset as default for none backend so keys are filtered

* add branch reference to issue

add codecov token (arviz-devs#42)

change action to create issue/comment (arviz-devs#44)

fix hypothesis action (arviz-devs#46)

* add condition to run if testing failed

* try fixing branch name

* try adding a more specific link to action logs

* switch pytest-store_date command order

Prepare initial pre-release (arviz-devs#54)

* add links between sub-libraries

* bump version

* use accessor in plot_forest docstring

* bump version and configure publishing

Fix issue in plot_dist_trace (arviz-devs#64)

don't try to rename artists if they haven't been drawn

Adding Ridgeplot to Arviz-Plots  (arviz-devs#57)

* First commit for adding ridgeplot

* Updated `plot_ridge` with 'face' and 'edge' artists now and updated visual elements `line_xy` and `fill_between_y`

* Modified density calculation pre-check in plot_ridge and modified visual element functions

* Added hypothesis tests for plot_ridge

* Added ridge_height as a top level arg and other modifications

* final changes

---------

Co-authored-by: Oriol (ProDesk) <oriol.abril.pla@gmail.com>

Removed unused 'extra_data' arg (arviz-devs#73)

Add plotly backend and gallery prototype (arviz-devs#61)

* plotly backend proof of concept

* be more consistend with kwarg handling and defaults

* restructure backend dependencies and install process

* fix typo in bokeh's remove_ticks

* complete plotly backend

* gallery prototype

* extend docs and tests

* add plotly equivalences to glossary

* more sensible defaults and kwarg handling

* automate gallery generation via sphinx extension

* figsize and gallery related fixes

* full fledged gallery

* remove unused references

* update gallery generator

* initial plotly support for styles

* fix gallery generator processing

add pp-obs comparison with plot_forest example (arviz-devs#74)

* add pp-obs comparison with plot_forest example

* improve example

expand style functionality (arviz-devs#75)

* expand style functionality

* add feedback

* Apply suggestions from code review

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Improve backend documentation and get plot_forest to follow best practices (arviz-devs#78)

* start working on best practices and backend docs

* use none backend as documentation base

* add images for plotly and none

* adapt minigallery directive

* use none backend instead of arviz_plots.backend

* gallery references and plot sizing improvements

* fix typo

* pylint

* wait until using sphinx 8

* pseudo fix for empty minigallery

* modify slightly auto sizing

* Apply suggestions from code review

Co-authored-by: Osvaldo A Martin <aloctavodia@gmail.com>

* add see also

---------

Co-authored-by: Osvaldo A Martin <aloctavodia@gmail.com>

Histogram support addition to distplot.py (arviz-devs#47)

* WIP histogram addition to distplot.py

* Added histogram computing if kind='hist'

* reformatted histogram dataarrays into a dataset

* Modified histogram dataset plot_axis coords to 'x' and 'y' and added visual element function, backend interface and matplotlib backend function for plotting histogram

* Allowing xarray_einstats.histogram() function to determine default number of bins

* Modified histogram data restructuring function to include bin edge data and modified docstrings for hist backend interface

* added plot_dist test parametrizations for kind=kde, hist, ecdf, adjusted hypothesis time limit to 2 seconds and modified backend hist plotting function

* added width to histogram plotting, removed print statements from previous commits and updated restructure_hist_data() docstring

* switched histogram computation to arviz stats, modified plot_hist visual element slightly for new returned hist density data structure

* added 'density=True' to normalize histogram heights and removed axis by default for histograms

* added Bokeh backend for hist visual element and removed ecdf parametrization from test_plot_dist_models

* updated docstring, added 'alpha' argument to the 'hist' backend plotting functions, renamed 'plot_hist' to 'hist', modified `remove_axis` logic slightly and set density=True as default in stats_kwargs

* Added 'hist' to visuals.rst

* deactivate tests for hist kind and multiple models

It needs a fix in arviz-stats to work

* removed restructure_dist and glyph default artist kwarg in bokeh

* updated hist backend interface and matplotlib hist backend function with updates fromrootogram plot

* plotly hist and plot_dist improvements

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Add plot_compare (arviz-devs#77)

* add plot_compare

* directly use plot_backend

* add new kwargs

* use fill_between_y

* docs

* remove commented code

* use plot_kwargs

* use plotcollection

* use plotcollection

* alow disabling elements

* pass pc_kwargs to plotcollection

* try to fix example in gallery

* add missing import

* Update gallery_generator.py

* Improve show method for plotcollection

* fix 1x1 grid generation in plotly

* fix plotly 1x1 plots

* add basic test

* fix tests

* isort

* remove redundant array conversion

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

rework styles  (arviz-devs#88)

* rework color palletes

* update plotly clean template

fix link to github (arviz-devs#91)

Add ESS Plot (arviz-devs#58)

* First commit for essplot and scatter_xy visual element

* update for ess plot and addition of 'x' aesthetic for 'model' dim

* addition of quantile plot and updated x aesthetic mapping

* Added rugplot to essplot

* updates to essplot

* fixed default value for arg 'extra_methods'

* modified scatter_xy visual element to take into account _process_da_x_y update

* Added color/linestyles aesthetics and simplified min_ess plotting

* Added annotate_xy visual element, applied to essplot for extra_methods

* visual element vertical alignment logic modification and arviz-stats compute_ranks addition attempt

* added docs for essplot

* tests for essplot

* added scatter_xy to visuals.rst

* added rug=True to example gallery plot_ess_local

* fixes for rugplot issue and hypothesis test failures

* shifted mean_ess, sd_ess computing to before plot_kwargs check+artist plotting logic and modified hypothesis tests

* Updated plot_ess and tests

* updated .toml file for arviz-stats dependency

* Modified figsize to more of a plot_forest approach, fixed order of plots in plots.rst and expanded max limit for test methods in testplots.py in .pylintrc

* Updated plot_ess docstring

* Switched from .grid to .wrap, removed unused figsize coeffs, disabled pylint warning on testplots.py

* final fixes

now only waiting for us to figure out behaviour and scope in arviz-stats
and xarray-einstats

* update pyproject requirements

* pylint

---------

Co-authored-by: Oriol (ProDesk) <oriol.abril.pla@gmail.com>

fix warning (arviz-devs#99)

Adding Plot ESS Evolution (arviz-devs#71)

* Initial ess evolution plot

updated plot_ess_evolution including a common ess_dataset computing func

added mean and sd annotations like essplot

docs and example gallery for plot_ess_evolution

updated verticalalign logic for mean/sd and correct (although overlaid and not flattened yet) rug is now displayed

removed rug plot

added tests

updated scatter_xy func to plot_ess version

fixed docstring

altered store_artist for xlabel, ylabel and modified hypothesis tests

shifted mean_ess, sd_edd computing to before plot_kwargs check+artist plotting logic

updated docstring, added figsizing and set vertical_align for mean and sd text kwargs as setdefault

removed 'rankdata' branch of arviz-stats from dependencies

docstring typo fix

gallery-generator updated for documentation building

* remove visual duplicated when rebasing

---------

Co-authored-by: Oriol (ProDesk) <oriol.abril.pla@gmail.com>

Add plot_psense_dist (arviz-devs#93)

* Add plot_psense_dist

* Update src/arviz_plots/plots/psensedistplot.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

* Update src/arviz_plots/plots/psensedistplot.py

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

* concat da and simplify logic

* set sample_dims to sample

* refactor

* minor fixes and update pyproject to install from GH

* support sample_dims argument and all backends

* add minigallery to docstring

* tweak example

* ensure pointinterval only plot does not have yticks

* add initial test for psense plot

* add test and example

* fix test

* fix docstring

* rename __group__

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

pin datatree and prepare release (arviz-devs#103)

* pin datatree and prepare release

* update naming for hist_dim to match arviz-stats

install arviz-base/stats from github (arviz-devs#104)

move out new_ds to arviz-stats (arviz-devs#102)

Bump codecov/codecov-action from 4 to 5 (arviz-devs#107)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

update version, dependencies and CI (arviz-devs#110)

* update version, dependencies and CI

* skip 3.13 until numba release

* update rtd env

* ignore line too long in gallery template string

Use DataTree class from xarray (arviz-devs#111)

* start work for xarray datatree compatibility

* use datatree from xarray

* fix docs

* remove unused import

Update pyproject.toml (arviz-devs#113)

Add energy plot (arviz-devs#108)

* add energy plot

* remove __variable__, add example

* hardcode sampler_dims

* use legend only with matplotlib

Add plot for distribution of convergence diagnostics (arviz-devs#105)

* Add plot for distribution of convergence diagnostics

* add ref_line and methods for r-hat

* fix docstring

* rename, add example

* update gallery example

* use rhat instead of rhat_rank

* update sphinx.configuration key

* update sphinx.configuration key

* add vline/hline.

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

* fix test

* fix docstring

* fix docstring

---------

Co-authored-by: Oriol Abril-Pla <oriol.abril.pla@gmail.com>

Add separated prior and likelihood groups (arviz-devs#117)

* Add separated prior and likelihood groups

* upper bound for plotly

Add psense_quantities plot (arviz-devs#119)

* add psense_quantities plot

* remove  comment

* fix conflicting dimension

* update docts

* fix color

* fix ls

* split quantities

* fix docstring

rename arviz-clean to arviz-variat (arviz-devs#120)

rename arviz-clean to arviz-variat

add cetrino and vibrant styles to plotly (arviz-devs#121)

psense: fix facetting and add xlabel (arviz-devs#123)

* fix facetting

* add x-label

Add summary dictionary arguments (arviz-devs#125)

* add summary dictionary arguments

* fix spelling

plotly: change format of title update in backend (arviz-devs#124)

* plotly: change format of title update in backend

* update the pyproject.toml file to restrict lower bound of  plotly version to 6

Update glossary.md (arviz-devs#126)

Add PAV-adjusted calibration plot (arviz-devs#127)

* draft pava ppc

* add pava-adjusted calibration plot

* use dt

* fix var name

upper bound plotly (arviz-devs#128)

use isotonic function that work with datatrees (arviz-devs#131)

add reference, fix xlabel (arviz-devs#132)

Fix bug when setting some plot_kwargs to false (arviz-devs#134)

* fix bug setting when setting some plot_kwargs to false

* remove references

Add citations (arviz-devs#135)

* add citations

* reformat citations

* fix indentation

* fix links

* add reference file

use <6 version of plotly for documentation and use latest for other purposes (arviz-devs#136)

* temporary fix for plotly-plot-rendering-on-webpage

* include plotly also in readthedocs

fix see algo pava gallery (arviz-devs#137)

Add plot_ppc_dist (arviz-devs#138)

* add plot_ppc_dist

* remove comments

* add test and small fixes

* fix typo

Add warning message for discrete data (arviz-devs#139)

* add warning message for discrete data

* do not fail on warnings

rename plot_pava and minor fixes (arviz-devs#140)

fix excesive margins (arviz-devs#141)

add arviz-style for bokeh (arviz-devs#122)

* add arviz-styles for bokeh

* add arviz-styles for bokeh

* Update arviz-variat.yml

* add more styles

Add rootogram (arviz-devs#142)

fix examples (arviz-devs#144)

Reorganize categories in the gallery (arviz-devs#145)

* reorganize categories gallery

* update condig

* rename

remove plots from titles (arviz-devs#146)

* remove plots from titles

* more renaming

* more renaming

consistence data_pairs, remove markers pava (arviz-devs#152)

added functionality of step histogram for all three backends (arviz-devs#147)

* added functionality of step histogram for all three backends

* changed user preference format for step histograms

* clean

* little modifications to make it compatible with cleaned code and to have consistent edgecolor

* added test for plot_dist with step value as true

* minor fixes: step hist test is not required for 'none' backend

---------

Co-authored-by: aloctavodia <aloctavodia@gmail.com>

use continuous outcome for plot_ppc_dist example (arviz-devs#154)

add grid visual (arviz-devs#155)

all test cases are passed

ruff changes

seperating plotting functionality of bayes_factor

testing get_plotting funcitonality

new implementation of arviz-plot

Update bfplot.py

it should be something like this. Please, check that it works properly, add docstrings and improve when necessary

Improved the plot_bf() function, applied fixes, and added additional assert for test cases

Fixed the check for ref_val
Added a docstring for plot_bf()
Change the backend from matplotlib to none
Added a legend to componenet_groups
Added few more asserts in test cases
Did some other minor fixing and refractoring

Signed-off-by: PiyushPanwarFST <piyush2002panwar@gmail.com>

Enhance plot_bf() Visualization & Documentation, Fix Linter Issues

Adjusted and re-centered BF values for better graph representation.
Added plot_bf() function to the documentation.
Resolved pylint linter errors in code.

Signed-off-by: PiyushPanwarFST <piyush2002panwar@gmail.com>

deleting some files and modifying some files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants