• Python 98.4%
  • ReScript 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-10-27 20:51:17 +00:00
.cache/replit fork 2024-10-27 20:51:17 +00:00
__pycache__ fork 2024-10-27 20:51:17 +00:00
.replit fork 2024-10-27 20:51:17 +00:00
bar_plot.png fork 2024-10-27 20:51:17 +00:00
box_plot.png fork 2024-10-27 20:51:17 +00:00
fcc-forum-pageviews.csv init 2020-09-29 09:51:20 -05:00
line_plot.png fork 2024-10-27 20:51:17 +00:00
main.py fork 2024-10-27 20:51:17 +00:00
poetry.lock fork 2024-10-27 20:51:17 +00:00
pyproject.toml fork 2024-10-27 20:51:17 +00:00
README.md fork 2024-10-27 20:51:17 +00:00
replit_zip_error_log.txt fork 2024-10-27 20:51:17 +00:00
test_module.py fork 2024-10-27 20:51:17 +00:00
time_series_visualizer.py fork 2024-10-27 20:51:17 +00:00

Assignment

For this project you will visualize time series data using a line chart, bar chart, and box plots. You will use Pandas, Matplotlib, and Seaborn to visualize a dataset containing the number of page views each day on the freeCodeCamp.org forum from 2016-05-09 to 2019-12-03. The data visualizations will help you understand the patterns in visits and identify yearly and monthly growth.

Use the data to complete the following tasks:

  • Use Pandas to import the data from "fcc-forum-pageviews.csv". Set the index to the "date" column.
  • Clean the data by filtering out days when the page views were in the top 2.5% of the dataset or bottom 2.5% of the dataset.
  • Create a draw_line_plot function that uses Matplotlib to draw a line chart similar to "examples/Figure_1.png". The title should be "Daily freeCodeCamp Forum Page Views 5/2016-12/2019". The label on the x axis should be "Date" and the label on the y axis should be "Page Views".
  • Create a draw_bar_plot function that draws a bar chart similar to "examples/Figure_2.png". It should show average daily page views for each month grouped by year. The legend should show month labels and have a title of "Months". On the chart, the label on the x axis should be "Years" and the label on the y axis should be "Average Page Views".
  • Create a draw_box_plot function that uses Searborn to draw two adjacent box plots similar to "examples/Figure_3.png". These box plots should show how the values are distributed within a given year or month and how it compares over time. The title of the first chart should be "Year-wise Box Plot (Trend)" and the title of the second chart should be "Month-wise Box Plot (Seasonality)". Make sure the month labels on bottom start at "Jan" and the x and x axis are labeled correctly.

For each chart, make sure to use a copy of the data frame. Unit tests are written for you under test_module.py.

Development

For development, you can use main.py to test your functions. Click the "run" button and main.py will run.

Testing

We imported the tests from test_module.py to main.py for your convenience. The tests will run automatically whenever you hit the "run" button.

Submitting

Copy your project's URL and submit it to freeCodeCamp.