The Increasing Global Temperature
Coursera data visualization project 1, created by jean pan.
This is a simple data visualization exercise from Coursera Data Visualization course.
The data used in this assignment is GISTEMP data from NASA.
The visualization tool I'm using is D3.js .
![](http://mangareview.fun/777/templates/cheerup/res/banner1.gif)
Explanation
This graph visualizes the GISTEMP data for the Globe and the North and South Hemispheres through all the given years ( 1880 - 2014 ). The Blue line is for the Globe, the Orange line describes the data for the Northern Hemisphere and the Green for the South Hemisphere.
From the resulting graph, although there is a little decreasing during 19th century, we can see that the overall trend of global temperature is increasing. Both north and south follow the same trend as the global, but we can find the south increases smoother than the north.
Instantly share code, notes, and snippets.
![](http://mangareview.fun/777/templates/cheerup/res/banner1.gif)
nicwhitehead / gist:4e359848dbbc9848b58eee020ea2ae75
- Download ZIP
- Star ( 0 ) 0 You must be signed in to star a gist
- Fork ( 0 ) 0 You must be signed in to fork a gist
- Embed Embed this gist in your website.
- Share Copy sharable link for this gist.
- Clone via HTTPS Clone using the web URL.
- Learn more about clone URLs
- Save nicwhitehead/4e359848dbbc9848b58eee020ea2ae75 to your computer and use it in GitHub Desktop.
# Import required libraries | |
import pandas as pd | |
import dash | |
import dash_html_components as html | |
import dash_core_components as dcc | |
from dash.dependencies import Input, Output, State | |
import plotly.graph_objects as go | |
import plotly.express as px | |
from dash import no_update | |
# Create a dash application | |
app = dash.Dash(__name__) | |
# REVIEW1: Clear the layout and do not display exception till callback gets executed | |
app.config.suppress_callback_exceptions = True | |
# Read the airline data into pandas dataframe | |
airline_data = pd.read_csv('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork/Data%20Files/airline_data.csv', | |
encoding = "ISO-8859-1", | |
dtype={'Div1Airport': str, 'Div1TailNum': str, | |
'Div2Airport': str, 'Div2TailNum': str}) | |
# List of years | |
year_list = [i for i in range(2005, 2021, 1)] | |
"""Compute graph data for creating yearly airline performance report | |
Function that takes airline data as input and create 5 dataframes based on the grouping condition to be used for plottling charts and grphs. | |
Argument: | |
df: Filtered dataframe | |
Returns: | |
Dataframes to create graph. | |
""" | |
def compute_data_choice_1(df): | |
# Cancellation Category Count | |
bar_data = df.groupby(['Month','CancellationCode'])['Flights'].sum().reset_index() | |
# Average flight time by reporting airline | |
line_data = df.groupby(['Month','Reporting_Airline'])['AirTime'].mean().reset_index() | |
# Diverted Airport Landings | |
div_data = df[df['DivAirportLandings'] != 0.0] | |
# Source state count | |
map_data = df.groupby(['OriginState'])['Flights'].sum().reset_index() | |
# Destination state count | |
tree_data = df.groupby(['DestState', 'Reporting_Airline'])['Flights'].sum().reset_index() | |
return bar_data, line_data, div_data, map_data, tree_data | |
"""Compute graph data for creating yearly airline delay report | |
This function takes in airline data and selected year as an input and performs computation for creating charts and plots. | |
Arguments: | |
df: Input airline data. | |
Returns: | |
Computed average dataframes for carrier delay, weather delay, NAS delay, security delay, and late aircraft delay. | |
""" | |
def compute_data_choice_2(df): | |
# Compute delay averages | |
avg_car = df.groupby(['Month','Reporting_Airline'])['CarrierDelay'].mean().reset_index() | |
avg_weather = df.groupby(['Month','Reporting_Airline'])['WeatherDelay'].mean().reset_index() | |
avg_NAS = df.groupby(['Month','Reporting_Airline'])['NASDelay'].mean().reset_index() | |
avg_sec = df.groupby(['Month','Reporting_Airline'])['SecurityDelay'].mean().reset_index() | |
avg_late = df.groupby(['Month','Reporting_Airline'])['LateAircraftDelay'].mean().reset_index() | |
return avg_car, avg_weather, avg_NAS, avg_sec, avg_late | |
# Application layout | |
app.layout = html.Div(children=[ | |
# TASK1: Add title to the dashboard | |
# Enter your code below. Make sure you have correct formatting. | |
html.H1('US Domestic Airline Flights Performance', style={'textAlign': 'center', 'color': '#503D36', 'font-size': 24}), | |
# REVIEW2: Dropdown creation | |
# Create an outer division | |
html.Div([ | |
# Add an division | |
html.Div([ | |
# Create an division for adding dropdown helper text for report type | |
html.Div( | |
[ | |
html.H2('Report Type:', style={'margin-right': '2em'}), | |
] | |
), | |
# TASK2: Add a dropdown | |
# Enter your code below. Make sure you have correct formatting. | |
dcc.Dropdown(id='....', | |
options=[ | |
{'label': 'Yearly Airline Performance Report', 'value': 'OPT1'}, | |
{'label': 'Yearly Airline Delay Report', 'value': 'OPT2'} | |
], | |
placeholder='Select a report type', | |
style={'width':'80%', 'padding':'3px', 'font-size':'20px', 'text-align-last':'center'}) | |
# Place them next to each other using the division style | |
], style={'display':'flex'}), | |
# Add next division | |
html.Div([ | |
# Create an division for adding dropdown helper text for choosing year | |
html.Div( | |
[ | |
html.H2('Choose Year:', style={'margin-right': '2em'}) | |
] | |
), | |
dcc.Dropdown(id='input-year', | |
# Update dropdown values using list comphrehension | |
options=[{'label': i, 'value': i} for i in year_list], | |
placeholder="Select a year", | |
style={'width':'80%', 'padding':'3px', 'font-size': '20px', 'text-align-last' : 'center'}), | |
# Place them next to each other using the division style | |
], style={'display': 'flex'}), | |
]), | |
# Add Computed graphs | |
# REVIEW3: Observe how we add an empty division and providing an id that will be updated during callback | |
html.Div([ ], id='plot1'), | |
html.Div([ | |
html.Div([ ], id='plot2'), | |
html.Div([ ], id='plot3') | |
], style={'display': 'flex'}), | |
# TASK3: Add a division with two empty divisions inside. See above disvision for example. | |
# Enter your code below. Make sure you have correct formatting. | |
html.Div([ | |
html.Div([ ], id='plot4'), | |
html.Div([ ], id='plot5') | |
], | |
style={'display': 'flex'}) | |
]) | |
# Callback function definition | |
# TASK4: Add 5 ouput components | |
# Enter your code below. Make sure you have correct formatting. | |
@app.callback( [Output(component_id='plot1', component_property='children'), | |
Output(component_id='plot2', component_property='children'), | |
Output(component_id='plot3', component_property='children'), | |
Output(component_id='plot4', component_property='children'), | |
Output(component_id='plot5', component_property='children')], | |
[Input(component_id='input-type', component_property='value'), | |
Input(component_id='input-year', component_property='value')], | |
# REVIEW4: Holding output state till user enters all the form information. In this case, it will be chart type and year | |
[State("plot1", 'children'), State("plot2", "children"), | |
State("plot3", "children"), State("plot4", "children"), | |
State("plot5", "children") | |
]) | |
# Add computation to callback function and return graph | |
def get_graph(chart, year, children1, children2, c3, c4, c5): | |
# Select data | |
df = airline_data[airline_data['Year']==int(year)] | |
if chart == 'OPT1': | |
# Compute required information for creating graph from the data | |
bar_data, line_data, div_data, map_data, tree_data = compute_data_choice_1(df) | |
# Number of flights under different cancellation categories | |
bar_fig = px.bar(bar_data, x='Month', y='Flights', color='CancellationCode', title='Monthly Flight Cancellation') | |
# TASK5: Average flight time by reporting airline | |
# Enter your code below. Make sure you have correct formatting. | |
line_fig = px.line(line_data, x='Month', y='AirTime', color='Reporting_Airline', title='Average monthly flight time (minutes) by airline') | |
# Percentage of diverted airport landings per reporting airline | |
pie_fig = px.pie(div_data, values='Flights', names='Reporting_Airline', title='% of flights by reporting airline') | |
# REVIEW5: Number of flights flying from each state using choropleth | |
map_fig = px.choropleth(map_data, # Input data | |
locations='OriginState', | |
color='Flights', | |
hover_data=['OriginState', 'Flights'], | |
locationmode = 'USA-states', # Set to plot as US States | |
color_continuous_scale='GnBu', | |
range_color=[0, map_data['Flights'].max()]) | |
map_fig.update_layout( | |
title_text = 'Number of flights from origin state', | |
geo_scope='usa') # Plot only the USA instead of globe | |
# TASK6: Number of flights flying to each state from each reporting airline | |
# Enter your code below. Make sure you have correct formatting. | |
tree_fig = px.treemap(tree_data, path=['DestState', 'Reporting_Airline'], | |
values='Flights', | |
color='Flights', | |
color_continuous_scale='RdBu', | |
title='Flight count by airline to destination state' | |
) | |
# REVIEW6: Return dcc.Graph component to the empty division | |
return [dcc.Graph(figure=tree_fig), | |
dcc.Graph(figure=pie_fig), | |
dcc.Graph(figure=map_fig), | |
dcc.Graph(figure=bar_fig), | |
dcc.Graph(figure=line_fig) | |
] | |
else: | |
# REVIEW7: This covers chart type 2 and we have completed this exercise under Flight Delay Time Statistics Dashboard section | |
# Compute required information for creating graph from the data | |
avg_car, avg_weather, avg_NAS, avg_sec, avg_late = compute_data_choice_2(df) | |
# Create graph | |
carrier_fig = px.line(avg_car, x='Month', y='CarrierDelay', color='Reporting_Airline', title='Average carrrier delay time (minutes) by airline') | |
weather_fig = px.line(avg_weather, x='Month', y='WeatherDelay', color='Reporting_Airline', title='Average weather delay time (minutes) by airline') | |
nas_fig = px.line(avg_NAS, x='Month', y='NASDelay', color='Reporting_Airline', title='Average NAS delay time (minutes) by airline') | |
sec_fig = px.line(avg_sec, x='Month', y='SecurityDelay', color='Reporting_Airline', title='Average security delay time (minutes) by airline') | |
late_fig = px.line(avg_late, x='Month', y='LateAircraftDelay', color='Reporting_Airline', title='Average late aircraft delay time (minutes) by airline') | |
return[dcc.Graph(figure=carrier_fig), | |
dcc.Graph(figure=weather_fig), | |
dcc.Graph(figure=nas_fig), | |
dcc.Graph(figure=sec_fig), | |
dcc.Graph(figure=late_fig)] | |
# Run the app | |
if __name__ == '__main__': | |
app.run_server() |
AgbaSparks commented Jun 22, 2023
The code runs but it doesn't display a graph... please what can I do?
Sorry, something went wrong.
![](http://mangareview.fun/777/templates/cheerup/res/banner1.gif)
IMAGES
VIDEO
COMMENTS
Data Visualization with Python - Final Assignment. Contribute to NatashadT/Final-Assignment development by creating an account on GitHub.
What you'll learn. Implement data visualization techniques and plots using Python libraries, such as Matplotlib, Seaborn, and Folium to tell a stimulating story. Create different types of charts and plots such as line, area, histograms, bar, pie, box, scatter, and bubble.
The main goal of this Data Visualization with Python course is to teach you how to take data that at first glance has little meaning and present that data in a form that makes sense to people.
Quizzes & Assignment Solutions for Data Visualization with Tableau Specialization on Coursera. Also included a few resources on side that I found helpful. www.coursera.org/specializations/data-visualization.
This is a simple data visualization exercise from Coursera Data Visualization course. The data used in this assignment is GISTEMP data from NASA. The visualization tool I'm using is D3.js.
This course will teach you how to make more effective visualizations of data. Not only will you gain deeper insight into the data, but you will also learn how to better communicate that insight to others.
Learn how to create data visualizations and dashboards using spreadsheets and analytics tools. This course covers some of the first steps for telling a compelling story with your data using various types of charts and graphs.
5.1 Data Visualisation with Python - Week 5 Final Assignment (code) Function that takes airline data as input and create 5 dataframes based on the grouping condition to be used for plottling charts and grphs. Dataframes to create graph.
Week 1 Application Assignment 2 Data Visualization. Create a plot to show at least one interesting aspect of the data. Briefly explain why the aspect(s) of the data that you chose to show in the plot is interesting. Solution: Follow the steps to create a plot. Open the downloaded file “crp_cleandata” xlsx file.
Refresh. Explore and run machine learning code with Kaggle Notebooks | Using data from No attached data sources.