Ejemplo n.º 1
0
def _get_land_solution_analytics(land_survey):
    charts = {}
    for col, title in [
        ("% tla", "% of land allocation reached"),
        ("% world alloc", "% of World land allocated to solution"),
        ("avg abatement cost", "Average abatement cost ($/tCO2)"),
    ]:
        charts[col] = make_comparison_chart(land_survey[col], col, "Solution",
                                            title)

    has_regions = (land_survey["has regional data"].map({
        True: "Yes",
        False: "No"
    }).value_counts().reset_index())
    has_regions.columns = ["has_region", "count"]

    charts["has_regions"] = make_pie_chart(
        has_regions,
        "has_region",
        "count",
        "Has regional adoption data? (Land solutions)",
    )

    issues_with_regional_data = get_issues_with_regional_data(land_survey)
    charts["issues_with_regional_data"] = make_pie_chart(
        issues_with_regional_data,
        "type",
        "count",
        "Issues with regional data in Custom Adoption scenarios",
    )
    return charts
Ejemplo n.º 2
0
def _get_summary_charts(all_solutions, py_solutions):
    excel_python_count = get_excel_python_count(all_solutions, py_solutions)
    pds_adoption_basis_counts = get_pds_adoption_basis_counts(py_solutions)
    ref_adoption_basis_counts = get_ref_adoption_basis_counts(py_solutions)
    custom_pds_data_basis_counts = get_custom_pds_data_basis_counts()
    scenarios_per_solution = get_scenarios_per_solution(py_solutions)

    charts = {}
    charts["solution_implementation"] = make_pie_chart(
        excel_python_count, "type", "count", "Solution Implementation")
    charts["pds_adoption_basis"] = make_pie_chart(pds_adoption_basis_counts,
                                                  "type", "count",
                                                  "PDS Adoption Basis")
    charts["ref_adoption_basis_counts"] = make_pie_chart(
        ref_adoption_basis_counts, "type", "count", "REF Adoption Basis")
    charts["custom_pds_data_basis_counts"] = make_pie_chart(
        custom_pds_data_basis_counts, "type", "count",
        "PDS Custom Adoption Basis")
    charts["num_scenario_per_solution"] = make_hist_chart(
        scenarios_per_solution.scenario,
        "Num scenarios per solution",
        "scenario",
        "solution",
        bins=15,
    )

    return charts
Ejemplo n.º 3
0
def test_make_pie_chart():
    data = pd.DataFrame({"type": ["A", "B", "C"], "count": [1, 2, 3]})
    result = make_pie_chart(data, "type", "count", "Title", as_html=False)
    assert result.title.text == "Title"
    data_source = result.renderers[0].data_source
    assert data_source.properties_with_values()["data"]["type"] == ["A", "B", "C"]
    assert data_source.properties_with_values()["data"]["count"] == [1, 2, 3]

    result = make_pie_chart(data, "type", "count", "Title", as_html=True)
    assert '<script type="text/javascript">' in result["script"]
    assert "data-root-id" in result["body"]
Ejemplo n.º 4
0
def _get_regional_charts(survey_data):
    charts = {}
    for type_ in ["TAM", "Adoption"]:
        col = f"RegionalFraction{type_}"
        regional_non_zero = get_regional_nonzero(survey_data, col)
        regional_percent = get_regional_as_percent(survey_data, col)

        charts[f"regional_nonzero_{type_}"] = make_pie_chart(
            regional_non_zero, "type", "count", f"Has Regional {type_} Data?")

        charts[f"regional_{type_}_percent"] = make_hist_chart(
            regional_percent,
            f"Regional {type_} as % of the World",
            "percentage",
            "number of scenarios",
            bins=20,
        )

    charts[f"pds_adoption_r_squared"] = make_hist_chart(
        survey_data["Rvalue"].dropna()**2,
        f"Linearity of PDS Adoption",
        "R squared value",
        "number of scenarios",
        bins=30,
    )
    return charts