diff --git a/README.md b/README.md index bfde5fe..05109de 100644 --- a/README.md +++ b/README.md @@ -33,17 +33,17 @@ Important milestones the script allows to calculate depending on personal drivin The plot below can be generated with ``` -python3 ecar.py --settings ecar.json -b -c -d -e -f --plot 3 +python3 ecar.py --settings example_0.json -b -c -d -e -f --plot 3 ``` -This will also lead to the following output +This will lead to the following output. ``` Break even after 0.0 years and 3.0 months. Savings per month based on yearly spending: 279.83. Savings per year: 3358.0. Costs driving 100 km in the Nissan Leaf 2013: 3.5. Costs driving 100 km in the Suzuki Grand Vitara 2008: 14. -The electric vehicle will be amortized by savings after 2.0 years, 4.0 months or exactely at 45265.04 kilometres. +The electric vehicle will be amortized by savings after 2.0 years, 7.0 months or exactely at 50666.67 kilometres. ``` -![Example 0](https://git.stiefel.tech/m3x1m0m/EconomicsOfAnElectricVehicle/raw/branch/master/pictures/plot_ex_0.png) \ No newline at end of file +![Example 0](https://git.stiefel.tech/m3x1m0m/EconomicsOfAnElectricVehicle/raw/branch/master/pictures/plot_ex_0.png) diff --git a/ecar.py b/ecar.py index c9340e7..9dea358 100644 --- a/ecar.py +++ b/ecar.py @@ -9,7 +9,7 @@ class c_settings_extractor: def __init__(self, fname): with open(fname, "r") as rf: settings = json.load(rf) - kilometer_price_ccar = settings["ccar"]["litres_per_kilometer"] * settings["petrol_litre_price"] + kilometer_price_ccar = settings["ccar"]["litres_per_kilometer"] * settings["juice_litre_price"] self.labels = [settings["ecar"]["label"], settings["ccar"]["label"]] self.purchase = np.array([settings["ecar"]["price"], settings["ccar"]["price"]]) self.taxes = np.array([settings["ecar"]["taxes"], settings["ccar"]["taxes"]]) @@ -138,22 +138,26 @@ def main(): current_y = current_y + maintenance y += 1 labels = ["Purchase", "Taxes", "Insurance", "Driving", "Maintenance"] + lnspace_start = -0.2 + lnspace_stop = 1.2 + lnspace_n = 10 + x_text = 0.2 if args.break_even: months_a_year = 12.0 be_money = (be_years + be_months/months_a_year) * comparator.calculate_costs_a_year() be_money = be_money[1] + extractor.get_purchase() - ax.plot(np.linspace(-0.2, 1.2, 10), [be_money[1]]*10, "--", color = plt_colors[2], label = "Break even") - ax.text(0.3, be_money[1] + 100, "Break even: {} years, {} months, {} kilometers".format(be_years, be_months, be_kilometers)) + ax.plot(np.linspace(lnspace_start, lnspace_stop, lnspace_n), [be_money[1]]*lnspace_n, "--", color = plt_colors[2], label = "Break even") + ax.text(x_text, be_money[1] + 100, "Break even: {} years, {} months, {} kilometers".format(be_years, be_months, be_kilometers)) labels = ["Break even"] + labels if args.amortization: months_a_year = 12.0 am_money = (am_years + am_months/months_a_year) * comparator.calculate_costs_a_year() am_money = am_money[1] + extractor.get_purchase() - ax.plot(np.linspace(-0.2, 1.2, 10), [am_money[1]]*10, "--", color = plt_colors[2], label = "Amortization") - ax.text(0.3, am_money[1] + 100, "Amortization: {} years, {} months, {} kilometers".format(am_years, am_months, am_kilometers)) + ax.plot(np.linspace(lnspace_start, lnspace_stop, lnspace_n), [am_money[1]]*lnspace_n, "--", color = plt_colors[2], label = "Amortization") + ax.text(x_text, am_money[1] + 100, "Amortization: {} years, {} months, {} kilometers".format(am_years, am_months, am_kilometers)) labels = ["Amortization"] + labels ax.set_ylabel(extractor.get_currency()) - ax.set_title("Comparision of economics electric vs. combustion car") + ax.set_title("Comparision of economics: Electric vs. combustion car") ax.legend(labels) ax.grid(axis = "y") plt.show() diff --git a/ecar.json b/example_0.json similarity index 92% rename from ecar.json rename to example_0.json index 7665627..73e4532 100644 --- a/ecar.json +++ b/example_0.json @@ -2,9 +2,8 @@ "currency": "CHF", "kwh_price_home": 0.2, "kwh_price_commercial": 0.5, - "petrol_litre_price": 1.75, + "juice_litre_price": 1.75, "kilometers_per_year": 20000.0, - "years": 6, "ecar": { "label": "Nissan Leaf 2013", "price": 7600, diff --git a/pictures/plot_ex_0.png b/pictures/plot_ex_0.png index ec0475f..47804b1 100644 Binary files a/pictures/plot_ex_0.png and b/pictures/plot_ex_0.png differ