# Author - Kristiāns Francis Cagulis # Date - 22.11.2021 import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("company_sales_data.csv") def task_1(): plt.figure(figsize=(10, 6)) # (x, y) x = range(len(data["month_number"])) # gets range of months plt.plot(x, data["total_profit"]) # sets up the plot plt.xticks(x, data["month_number"], fontsize=15) # sets x value step plt.yticks(fontsize=15) plt.ylim(ymin=100000) # sets minimal y value set_labels("Company profit per month", "Month number", "Total profit") plt.show() def task_2(): plt.figure(figsize=(10, 6)) # (x, y) x = range(len(data["month_number"])) # gets range of months data_list = list(data.columns)[1:-2] # gets and trims column names for column in data_list: plt.plot(x, data[column], lw=4, marker='o', ms=10) # ms = marker size plt.xticks(x, data["month_number"], fontsize=15) # sets x value step plt.yticks(fontsize=15) set_labels("Sales data", "Month number", "Sales units in number") new_data_list = list(map(lambda x: x.capitalize() + " Sales Data", data_list)) # capitalizes each word in list plt.legend(new_data_list, loc='upper left', fontsize=15) plt.show() def task_3(): plt.figure(figsize=(10, 6)) # (x, y) x = range(len(data["month_number"])) # gets range of months plt.scatter(x, data["toothpaste"], s=75) # sets up the plot plt.grid(ls='dashed', lw=1.5) # sets grid line type and width plt.xticks(x, data["month_number"], fontsize=15) # sets x value step plt.yticks(fontsize=15) set_labels("Toothpaste Sales data", "Month number", "Number of units Sold") plt.legend(["Toothpaste Sales data"], loc='upper left', fontsize=15) plt.show() def task_4(): items = ["facecream", "facewash"] data.plot(x="month_number", y=["facecream", "facewash"], kind='bar', figsize=(10, 6), fontsize=15) plt.xticks(rotation=0) # rotates x lables to 0 plt.grid(ls='dashed', lw=1.5) # sets grid line type and width set_labels("Facewash and Facecream Sales data", "Month number", "Sales units in number") new_items_list = list(map(lambda x: x.capitalize() + " Sales Data", items)) plt.legend(new_items_list, loc='upper left', fontsize=15) plt.show() def set_labels(title: str, xlabel: str, ylabel: str): plt.title(title, fontsize=15) plt.xlabel(xlabel, fontsize=15) plt.ylabel(ylabel, fontsize=15) def main(): task = input("""Ivēlieties uzdevumu: 1 - pirmais uzdevums 2 - otrais uzdevums 3 - trešais uzdevums 4 - ceturtais uzdevums """) if task == "1": task_1() elif task == "2": task_2() elif task == "3": task_3() elif task == "4": task_4() else: print("Tika ievadīts nepareiz cipars") if __name__ == '__main__': main()