Comments (6)
I was thinking about making the containment (mitigation) plot into a sort of a bar chart:
- bar width corresponds to the time interval
- bar height is the value
- click on the bar (or on its continuation above the upper edge of it) adjusts the value
- optionally, click and drag will display the date and the value being adjusted, for better UX
- this would work for any time-aware parameter.
- intervals can be non-uniform
- interval can be set by the user
- changing global start and end dates adds or removes the bars on the sides
- optionally, when global dates were shrinked, and then expanded back, plot would remember the values lost on the sides and restore them
Additionally, we can represent the same data as a table. We could either display both or to add a toggle.
from covid19_scenarios.
Here is another proposal to improve the specification of mitigation and infection control measures.
2020-03-01 -- 2020-04-15 schools closed -10%
2020-03-15 -- 2020-05-31 bars, restaurants -10%
2020-04-01 -- 2020-05-31 lock-down -20%
One could have a date range selector and then include these as horizontal bars in the result plot. More measures could be added with an 'add' button (similar to filters in search interfaces). This would then translate into a time series with a few vertical steps. But the general logic of a linearly interpolated function would still hold, so this would require few changes in the algorithm.
The constraint that the combined measures can't be more than 100% is most readily addressed by making these effects multiplicative (Effects of -10%, -20%, -15% would then combine to 0.90.80.85)
@rodolfoalmeida01 and @arieltonglet, if this is something you'd be keen on, let me know. Happy to touch base.
from covid19_scenarios.
This seems like an awesome feature :)
It worries me a little that it could make this part of the app a little too complex for the average user, but it sure deserves a try, specially as we are working with presets already.
I think we could tackle this when me and @rodolfoalmeida01 finish the “overall design” changes, and get to the charts. Do you agree?
from covid19_scenarios.
I like this idea. Certainly worth exploring.
from covid19_scenarios.
That would be fantastic! We could then also have presets for different measures like school closure
, lock-down
, vaccine
etc that can be added one by one from a drop down or similar with a default value (school -20%, lock-down -40%, vaccine -80% just as examples). User then would need to select beginning and end (and these could have presets based on what we are observing now).
from covid19_scenarios.
Let me try to flesh out a little more what I have in mind and what it would take to get there.
The basic idea is an interface of the sort
The names of the measures don't really matter for the algorithm and could be chosen by the user. The last number is how much the measure reduces transmission.
This would produce an array of
{tMin, tMax, name, value}
The run
function would convert this into a piece-wise constant function that steps down by value
at every tMin
and up at every tMax
. This could be represented by the current TimeSeries
object with each vertical step having two entries a fraction of a day apart. Steps on the same day would need to be globbed together.
Finally, these measures could be represented by horizontal bars in the results graph to provide a visual guide.
- form elements and data structure in state
- function that converts sets of intervals into a
TimeSeries
- visualization of the measures in the result.
Open to more ideas!
from covid19_scenarios.
Related Issues (20)
- Option for adding Google Mobility data as an additive mitigation NPI HOT 3
- Option for correcting observed case counts using test positivity data and/or recorded deaths HOT 3
- Simulation plot changes every time refresh is pressed. HOT 1
- 🇧🇷 Brazil case data is incorrect HOT 7
- Step-by-step guide for parameter adjustment HOT 5
- Port to Next.js HOT 1
- Split app data per region and load on demand
- Don't bunde the data HOT 7
- weekly cases(data) vs weekly death (model) HOT 7
- Document, improve schema modification workflow
- Second wave
- Seroprevalence
- I want to contribute for Spanish translation HOT 4
- Missing Patients in hospital (data) in the results HOT 5
- Not all strings are translated
- API HOT 4
- Include effect of vaccination HOT 3
- Outcomes Summary Table
- Missing (And wrong) data shown before 08-16-2020 HOT 3
- [Security] Workflow eslint.yml is using vulnerable action reviewdog/action-eslint
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from covid19_scenarios.