Exploring best solution when generating custom plots: export get_data()
or similar from campaign to manually plot, modify, or rearrange data after camapaign execution
#99
Labels
Overall I see
class campaign
does not have an easy way to export generated data once campaign has finalized the running part.Use case:
I want to plot a custom graph which requires rearranging my data, adding other columns, etc., and then adding specific plotting features.
Issue:
Current campaign has
campaign.generate_graph(...)
which offers a straightforward solution to generate graphs based on x,y,hue params (seaborn/pandas style). This might be enough but for other more customized graphs requires adding pre/post callbacks. Example: composition of graphs, having FacetGrid vs non-FacetGrid.Possible solutions
campaign.get_data()
to get raw generated data in DataFrame (pandas) form. Example:-- PROS: add post-process in the campaign
-- CONS: mix of responsibilities. current campaign class already has dependencies with Seaborn/Pandas when generating graph. Maybe
campaign.get_data()
should only return csv data rather than Pandas.campaign.generate_graph
) Adding more callbacks (pre/post) to add specific calls to the pipeline:-- PROS: already used in benchkit, no more methods are needed
-- CONS: adding more callbacks means adding more complexity. We cannot generate wrappers of wrappers to support custom plots. Generating graphs using
campaign.generate_graph
should not have more complexity than using standard Seaborn/Matplotlib way.The text was updated successfully, but these errors were encountered: