diff --git a/Editor_Notebook.ipynb b/Editor_Notebook.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..8bd7904e5a9d903661e5de53d883304d7fb3f3d2 --- /dev/null +++ b/Editor_Notebook.ipynb @@ -0,0 +1,31 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Notebook for Coders" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notebook.ipynb b/Notebook.ipynb index 975e65d6bc413385dd66bcd87057ce0c370f79b5..1960c5f05081b544405840850d4cf6693e0f636f 100644 --- a/Notebook.ipynb +++ b/Notebook.ipynb @@ -17,24 +17,18 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "<src.Dataset.Dataset object at 0x000001CD53BDA250>\n" - ] - } - ], + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", - "from src.Dataset import Dataset \n", + "from src.Dataset import Dataset\n", + "from src.Plotter import Plotter\n", "\n", "dataset = Dataset(\"data\\GamingStudy_data.csv\")\n", "dataframe = dataset.get_dataframe()\n", - "print(dataset)\n" + "print(dataset)\n", + "plotter = Plotter(dataset)" ] }, { @@ -58,20 +52,22 @@ "\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Distribution of Participants \n", + "### Gender" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "\"\"\"\n", - "4 Plots/Way to shows the distribution of \n", - "Gender, \n", - "Platform (where they found the survey)\n", - "Games Top 5 \n", - "and Console\n", - "\n", - "\"\"\"" + "plotter.distribution_plot(\"Gender\")\n", + "pass" ] }, { @@ -266,7 +262,17 @@ "metadata": {}, "source": [ "## Q2 - Correlations between played hours and one's well being.\n", - "**Maybe we can even add if hours watching Streams effect it**" + "**Maybe we can even add if hours watching Streams effect it**\n", + "\n", + "For research question two we wanted to know if there is a correlation \n", + "between played hours and the player's well being. We went into the question\n", + "with the expectation that players which play longer hours are more anxiety prone\n", + "and less satisfied with life than those who play less. If that would be the \n", + "case, a positive correlation of hours played and our combined anxiety score \n", + "variable would be expected. We want to take a look at the data using a scatter-\n", + "plot, showing the correlation of both variables of interest, using the\n", + "plot_scatterplot() function of our Plotter class:\n", + "code below: plotter.plot_scatterplot(\"Hours\", \"Anxiety_score\")" ] }, { @@ -275,10 +281,9 @@ "metadata": {}, "outputs": [], "source": [ - " \"\"\"\n", - " \n", - " \n", - " \"\"\"" + "plotter.plot_scatterplot(\"Hours\", \"Anxiety_score\") \n", + "\n", + "#Still needs to be prettier" ] }, { @@ -304,37 +309,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Category distribution:\n", - "whyplay\n", - "having fun 5105\n", - "improving 4661\n", - "winning 1977\n", - "relaxing 623\n", - "other 424\n", - "all of the above 48\n", - "dtype: int64\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "<Figure size 576x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "\"\"\" Horizontal bar chart, one row for every reason for with top width\n", "# Anxiety colored in for the amount of anxiety in that group \n", @@ -444,4 +421,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} diff --git a/src/Plotter.py b/src/Plotter.py index c8d9051a3b7e2319a463cf91aba90b003908e7a9..5b0c4271991ac2a2a66867b6fc69f6e2f8cb59dd 100644 --- a/src/Plotter.py +++ b/src/Plotter.py @@ -15,7 +15,7 @@ class Plotter: self.df = dataset.get_dataframe() def customize_plot(self, fig, ax, styling_params) -> None: - """ customize_plot + """customize_plot Args: fig (plt.figure.Figure), @@ -72,7 +72,7 @@ class Plotter: def plot_categorical_bar_chart( self, category1, category2, styling_params={} ) -> None: - """ plot a categorical bar chart. + """plot a categorical bar chart. Args: category1 (str, must be present as a column in the dataset), @@ -119,7 +119,7 @@ class Plotter: def plot_categorical_boxplot( self, target, category, styling_params={} ) -> None: - """ plot a categorical boxplot. + """plot a categorical boxplot. Args: target (str, must be present as a column in the dataset), @@ -130,32 +130,7 @@ class Plotter: Returns: None """ - # implementing sensible logging and error catching - if (type(target) != str): - logging.error("parameter target should be a string.") - raise ValueError("parameter target should be a string.") - - if not (target in self.df.columns): - logging.error("parameter target cannot be found in the dataset.") - raise ValueError( - "parameter target cannot be found in the dataset." - ) - - if (type(category) != str): - logging.error("parameter category should be a string.") - raise ValueError("parameter category should be a string.") - - if not (category in self.df.columns): - logging.error("parameter category cannot be found in the dataset.") - raise ValueError( - "parameter category cannot be found in the dataset." - ) - - if (type(styling_params) != dict): - logging.error("parameter styling params should be a dict.") - raise ValueError("parameter styling params should be a dict.") - # plotting the plot fig, ax = plt.subplots() self.customize_plot(fig, ax, styling_params) sns.boxplot(x=category, y=target, data=self.df, palette="rainbow") @@ -163,7 +138,7 @@ class Plotter: def plot_categorical_histplot( self, target, category, styling_params={}, bins=30 ) -> None: - """ plot a categorical hisplot. + """plot a categorical hisplot. Args: target (str, must be present as a column in the dataset), @@ -215,7 +190,7 @@ class Plotter: ) def plot_scatterplot(self, target1, target2, styling_params={}) -> None: - """ plot a scatterplot. + """plot a scatterplot. Args: target1 (str, must be present as a column in the dataset), @@ -255,4 +230,23 @@ class Plotter: # plotting the plot fig, ax = plt.subplots() self.customize_plot(fig, ax, styling_params) - ax.scatter(self.df[target1], self.df[target2]) \ No newline at end of file + ax.scatter(self.df[target1], self.df[target2]) + + def distribution_plot(self, target: str): + """ + distribution_plot _summary_ + + Args: + target (str): _description_ + + Returns: + None + """ + grouped_data = self.df.groupby(target).size() + plt.barh(grouped_data.index, grouped_data.values) + print(grouped_data.sort_values(ascending=False)) + # print(grouped_data.index) + # print(grouped_data.values) + plt.xlabel("Size") + plt.ylabel(target) + plt.title(f"Distribution of {target}")