mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-03-25 14:01:44 -04:00
67 lines
3.8 KiB
Markdown
67 lines
3.8 KiB
Markdown
---
|
|
id: 5e46f802ac417301a38fb92b
|
|
title: Page View Time Series Visualizer
|
|
challengeType: 10
|
|
forumTopicId: 462369
|
|
dashedName: page-view-time-series-visualizer
|
|
---
|
|
|
|
# --description--
|
|
|
|
You will be <a href="https://replit.com/github/freeCodeCamp/boilerplate-page-view-time-series-visualizer" target="_blank" rel="noopener noreferrer nofollow">working on this project with our Replit starter code</a>.
|
|
|
|
- ابدأ باستيراد (import) المشروع على Replit.
|
|
- بعد ذلك، سترى نافذة `.replit`.
|
|
- اختار `Use run command` وانقر على زر `Done`.
|
|
|
|
|
|
وما زلنا نطور الجزء التعليمي التفاعلي من منهج Python. الآن، إليك بعض مقاطع الفيديو على قناة اليوتيوب الخاصة بي freeCodeCamp.org التي ستعلمك كلّما تحتاج إليه لإكمال هذا المشروع:
|
|
|
|
- <a href="https://www.freecodecamp.org/news/python-for-everybody/" target="_blank" rel="noopener noreferrer nofollow">Python for Everybody Video Course</a> (14 hours)
|
|
|
|
- <a href="https://www.freecodecamp.org/news/how-to-analyze-data-with-python-pandas/" target="_blank" rel="noopener noreferrer nofollow">How to Analyze Data with Python Pandas</a> (10 hours)
|
|
|
|
# --instructions--
|
|
|
|
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 Seaborn 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 y axis are labeled correctly. The boilerplate includes commands to prepare the data.
|
|
|
|
For each chart, make sure to use a copy of the data frame. Unit tests are written for you under `test_module.py`.
|
|
|
|
The boilerplate also includes commands to save and return the image.
|
|
|
|
## التطوير
|
|
|
|
For development, you can use `main.py` to test your functions. Click the "run" button and `main.py` will run.
|
|
|
|
## الاختبار
|
|
|
|
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.
|
|
|
|
## التقديم
|
|
|
|
Copy your project's URL and submit it to freeCodeCamp.
|
|
|
|
# --hints--
|
|
|
|
It should pass all Python tests.
|
|
|
|
```js
|
|
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```py
|
|
# Python challenges don't need solutions,
|
|
# because they would need to be tested against a full working project.
|
|
# Please check our contributing guidelines to learn more.
|
|
```
|