Пример 1. График курса рубля.

Напишем простой пример считывание данных о курсе рубля с сервиса yahoo finance и построим простой линейный график. Используем библиотеку    pandas-datareader.Данная библиотека позволяет читать данные из следующих источников:
  1. Yahoo! Finance
  2.    Google Finance
  3.    FRED St. Louis FED (FRED)
  4. Fama/French
  5. World Bank
  6. OECD (Organisation for Economic Co-operation and Development) http://stats.oecd.org/SDMX-JSON/data
  7.   Eurostat
  8.   EDGAR Index
Результат представлен на рис.1
import os
import pandas as pd
import pandas_datareader.data as web
import datetime
import matplotlib as mpl
import matplotlib.pyplot as plt

# Утилита для записи графика в файл
def save(name='', type='png'):
    pwd = os.getcwd()
    os.chdir('./pictures/')
    plt.savefig('%s.%s' % (name, type), format=type)
    os.chdir(pwd)


start = datetime.datetime(2016, 1, 10)
end = datetime.datetime(2022, 1, 30)

# Параметры для надписей на кирилице
mpl.rcParams['font.family'] = 'fantasy'
mpl.rcParams['font.fantasy'] = 'Times New Roman', 'Ubuntu','Arial','Tahoma','Calibri'

# В yahoo у рубля обозначение "RUB=X"
gs = web.DataReader("RUB=X", 'yahoo', start, end)
#print(gs.round(2))

fig = plt.figure(figsize=(16, 8))
# ax1 = fig.add_subplot(111)
ax1 = fig.subplots(1)
ax1.plot(gs.Close)
ax1.set_title("Курс рубля", size=20, color='black')
ax1.set_xlabel("Дата", size=14, color='black')
ax1.set_ylabel("Цена закрытия", size=14, color='black')
ax1.grid(True)
plt.tight_layout() # автоматическое выравнивание элементов на холсте plt
save('pic_1')
plt.show()

Рис. 1