It's not perfect but time is not on our side.
I don't mind if you want to make or request changes before merging.
Gender, age, income, context and bounce definition are now part of an IndividualFilter class. The filter pane contains a tabbed pane allowing you to edit and remove different IndividualFilters. Each IndividualFilter controls one graph. To differentiate between graphs, the series name (instead of repeating the title) now describes the filter.
It's not perfect but time is not on our side. I don't mind if you want to make or request changes before merging.
Gender, age, income, context and bounce definition are now part of an IndividualFilter class. The filter pane contains a tabbed pane allowing you to edit and remove different IndividualFilters. Each IndividualFilter controls one graph. To differentiate between graphs, the series name (instead of repeating the title) now describes the filter.