├── bobaserver ├── bobastats │ ├── __init__.py │ ├── sensitivity.py │ ├── bootstrap.py │ └── sampling.py ├── __init__.py ├── util.py ├── routes.py ├── run_server.py └── common.py ├── client ├── assets │ ├── null.png │ ├── blues.png │ ├── favicon.ico │ ├── simple.png │ ├── idl-logo.png │ ├── stacking.png │ ├── blues-thick.png │ └── style.css ├── .babelrc ├── webpack.prod.js ├── .eslintrc.js ├── webpack.dev.js ├── index.html ├── src │ ├── App.vue │ ├── components │ │ ├── LegendView.vue │ │ ├── HelpButton.vue │ │ ├── LoadingSpinner.vue │ │ ├── DetailTip.vue │ │ ├── TitleMenu.vue │ │ ├── monitor │ │ │ ├── DecisionProgressView.vue │ │ │ ├── OutcomeProgressView.vue │ │ │ ├── SnapshotButton.vue │ │ │ ├── MonitorAdgView.vue │ │ │ ├── MonitorModelFitView.vue │ │ │ ├── ErrorMessageView.vue │ │ │ └── ProgressCard.vue │ │ ├── InferenceConfig.vue │ │ ├── AdgView.vue │ │ ├── FilterOptionView.vue │ │ ├── OptionRatioView.vue │ │ └── SmallMultiplesView.vue │ ├── main.js │ ├── controllers │ │ ├── vis │ │ │ ├── raw_scale.js │ │ │ ├── dot_plot_scale.js │ │ │ ├── graph_scale.js │ │ │ ├── base_scale.js │ │ │ ├── brush.js │ │ │ └── brushX.js │ │ ├── config.js │ │ ├── constants.js │ │ ├── util.js │ │ ├── inference │ │ │ ├── infer_simple_plot.js │ │ │ ├── infer_null_plot.js │ │ │ └── infer_stacking_plot.js │ │ ├── raw_plot.js │ │ └── monitor │ │ │ └── outcome_progress_plot.js │ ├── archetype_vis │ │ ├── ChartsPage.vue │ │ ├── DensityPage.vue │ │ ├── HistPage.vue │ │ ├── VolcanoPage.vue │ │ ├── ContourPage.vue │ │ ├── ParallelLinePlot.vue │ │ ├── ForestPlotPage.vue │ │ ├── GridPage.vue │ │ ├── PCurvePage.vue │ │ ├── SpecCurvePage.vue │ │ ├── p_curve_plot.js │ │ ├── density_plot.js │ │ ├── parallel_line_plot.js │ │ ├── histogram.js │ │ ├── FacetPage.vue │ │ ├── forest_plot.js │ │ └── spec_curve_plot.js │ ├── router │ │ └── index.js │ └── pages │ │ ├── MonitorPage.vue │ │ └── MainPage.vue ├── webpack.common.js └── package.json ├── MANIFEST.in ├── deploy_package.sh ├── setup.cfg ├── .gitignore ├── doc ├── CLI.rst ├── visualizer_config.md └── format.md ├── deploy_demo.sh ├── HISTORY.rst ├── LICENSE ├── setup.py ├── README.rst └── example └── mortgage └── overview.json /bobaserver/bobastats/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/assets/null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/null.png -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include client/dist/* 2 | include README.rst 3 | include LICENSE 4 | include HISTORY.rst 5 | -------------------------------------------------------------------------------- /client/assets/blues.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/blues.png -------------------------------------------------------------------------------- /client/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/favicon.ico -------------------------------------------------------------------------------- /client/assets/simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/simple.png -------------------------------------------------------------------------------- /client/assets/idl-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/idl-logo.png -------------------------------------------------------------------------------- /client/assets/stacking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/stacking.png -------------------------------------------------------------------------------- /client/assets/blues-thick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uwdata/boba-visualizer/HEAD/client/assets/blues-thick.png -------------------------------------------------------------------------------- /deploy_package.sh: -------------------------------------------------------------------------------- 1 | cd client 2 | npm run build 3 | 4 | cd .. 5 | rm -rf boba_visualizer.egg-info/ 6 | rm -rf build/ 7 | rm -rf dist/ 8 | python3 setup.py sdist bdist_wheel 9 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [bumpversion] 2 | current_version = 1.1.1 3 | commit = False 4 | tag = False 5 | 6 | [bumpversion:file:setup.py] 7 | search = version='{current_version}' 8 | replace = version='{new_version}' 9 | -------------------------------------------------------------------------------- /client/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["@babel/env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /client/webpack.prod.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const common = require('./webpack.common.js') 4 | 5 | module.exports = merge(common, { 6 | mode: 'production', 7 | devtool: 'source-map' 8 | }) 9 | -------------------------------------------------------------------------------- /client/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parserOptions: { 3 | parser: 'babel-eslint' 4 | }, 5 | extends: [ 6 | 'plugin:vue/recommended', 7 | 'standard' 8 | ], 9 | plugins: [ 10 | 'vue' 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /client/webpack.dev.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const common = require('./webpack.common.js') 4 | 5 | module.exports = merge(common, { 6 | mode: "development", 7 | watch: true, 8 | devtool: 'cheap-module-eval-source-map' 9 | }) 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # javascript 2 | node_modules/ 3 | 4 | # IDE 5 | .idea/ 6 | 7 | # virtual env 8 | env/ 9 | 10 | # packaging 11 | *.egg-info/ 12 | __pycache__/ 13 | dist/ 14 | build/lib/ 15 | 16 | # other 17 | bobaserver/demo/ 18 | 19 | # derived data 20 | example/mortgage/sensitivity.json 21 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |11 | Cumulative distribution of {{field}} for the multiverse. 12 |
13 |11 | Histogram of {{column}} for the multiverse. 12 | The dashed line indicates {{column}}={{cutoff}}. 13 |
14 |11 | Volcano plot visualizing the vibration of effects. 12 | Dashed lines indicate the median, 1st and 99th percentiles. 13 |
14 |11 | Contour plot visualizing the vibration of effects. 12 | Dashed lines indicate the median, 1st and 99th percentiles. 13 |
14 |11 | Each line is a universe. 12 | The x-axis shows the levels within the parameter "{{dec}}", 13 | and the y-axis shows whether the p-value is below 0.05. 14 |
15 |16 | ERROR: p-value is not available. 17 |
18 |11 | Point estimates (ordered by magnitude) and 95% confidence intervals. 12 | 13 | Only the top {{cutoff}} and bottom {{cutoff}} universes are shown. 14 |
15 |16 | ERROR: interval estimates are not available. 17 |
18 |11 | Columns map to decisions. Cells represent {{column}}. 12 | Cells where {{column}} < {{cutoff}} are shaded in gray. 13 |
14 |12 | p-curve (left) and the corresponding histogram (right). 13 | The graphs are based on the p-values of statistically significant estimates of {{field}}. 14 |
15 |17 | Histogram of {{column}} for the multiverse, 18 | faceted along the parameter {{dec}}. 19 |
20 |Inference should be the final step in your multiverse analysis workflow. 69 | After you view the inference results, you should probably not return to 70 | modifying the Boba DSL script. Also, the current views will be unavailable.
71 | 72 |Are you sure you would like to proceed?
73 | 74 |