#!/usr/bin/env python # coding: utf-8 # # Python Crypto Assignment 1: Visualizing Crypto Price Data using Line chart # ### import modules # In[31]: import requests import datetime import pandas as pd import matplotlib.pyplot as plt # ### Define Get Daily Price Method # In[32]: def daily_price_historical(symbol, comparison_symbol, all_data=False, limit=1, aggregate=1, exchange=''): url = 'https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&limit={}&aggregate={}'\ .format(symbol.upper(), comparison_symbol.upper(), limit, aggregate) if exchange: url += '&e={}'.format(exchange) if all_data: url += '&allData=true' page = requests.get(url) data = page.json()['Data'] df = pd.DataFrame(data) df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time] return df # ### Call Method And Plot Data Manually # In[39]: data = daily_price_historical('BTC', 'USD', all_data=True) # print (data.high, data.timestamp) plt.plot(data.timestamp, data.high) plt.title('BTC To USD') plt.ylabel('Price In USD') plt.xlabel('Year') plt.show() # ### Define Method For Ploting # In[57]: def plotData (symbol, comparison_symbol="USD", all_data=False, limit=30): data = daily_price_historical(symbol, comparison_symbol, all_data, limit) # print (data.high, data.timestamp) fg = plt.figure(figsize=(20,10)) plt.plot(data.timestamp, data.high) plt.title(symbol + ' To ' + comparison_symbol, fontsize=24) plt.ylabel('Price In ' + comparison_symbol, fontsize=18) plt.xlabel('Year', fontsize=18) plt.show() # In[58]: plotData('BTC', 'USD', True) # In[59]: plotData('ETC', 'USD', True) # In[61]: plotData('LTC', 'USD', True)