Линейные графики в Anaconda

Я пишу программу на Python для создания линейных графиков цен на криптовалюту. Цель состоит в том, чтобы иметь возможность наложить несколько произвольных пар, например, BTC / USD + ETH / BTC или BTC / USD + BCH / LTC + XRP / BTG, на одной горизонтальной временной шкале, аналогично https://coinmarketcap.com/currencies/ethereum/

Навороты в приведенном выше примере не требуются. Ему не нужны технология масштабирования щелчком, кнопка масштабирования журнала или необычные подсказки по инструментам, если эти функции усложняют реализацию. Было бы полезно использовать отдельные цвета для каждой строки. Это формат данных, с которыми мне приходится работать:

https://min-api.cryptocompare.com/data/histominute?fsym=BTC&tsym=USD&limit=60&aggregate=1&e=Coinbase

https://min-api.cryptocompare.com/data/histominute?fsym=ETH&tsym=BCH&limit=30&aggregate=1&e=CCCAGG

В настоящее время у меня есть Anaconda 3.6 в Visual Studio, который согласно https://docs.anaconda.com/anaconda/packages/py3.6_win-64.html должен включать несколько пакетов для отображения этих данных без необходимости вручную устанавливать сторонний код через командную строку. Однако, когда я пытаюсь импортировать любой из них (например, matplotlib, bokeh, seaborn), я получаю сообщение «ModuleNotFoundError», поэтому я не уверен, правильно ли работает моя Anaconda. Как проще всего построить график этих данных с помощью Anaconda?


person user10478    schedule 22.01.2018    source источник
comment
интерпретатор python в vscode, вероятно, не использует вашу установку Anaconda. из vscode типа оболочки python import sys, а затем sys.version, и он должен сообщить вам версию python, которую вы используете   -  person briancaffey    schedule 23.01.2018
comment
Это поставило меня на верный путь. Я решил проблему в Tool - ›Python -› Среды Python, установив для Anaconda среду по умолчанию для новых проектов, а затем скопировав код в новый проект VS.   -  person user10478    schedule 23.01.2018
comment
Ок, отлично. Я добавлю это немного к своему ответу, поскольку видел, как другие спрашивали, как получить анаконду в разных редакторах.   -  person briancaffey    schedule 23.01.2018


Ответы (1)


Интерпретатор python в VSCode, вероятно, не использует вашу установку Anaconda. В оболочке Python VSCode введите import sys, а затем sys.version, и он должен сообщить вам версию Python, которую вы используете.

Вот код, который поможет вам начать делать это в боке, библиотеке, поставляемой с Anaconda. Вместо использования Visual Studio (или Visual Studio Code - я не уверен, о каком из них вы имеете в виду) я использовал jupyter notebook, и некоторые из импортированных здесь элементов относятся к этой среде (чтобы показать встроенный график боке). Вы можете захотеть отформатировать дату по-другому.

from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook

import numpy as np
output_notebook()
import requests
import datetime
from math import pi
def format_date(utc_time):
    time = datetime.datetime.fromtimestamp(int(utc_time))
    return time

url1 = "https://min-api.cryptocompare.com/data/histominute?fsym=BTC&tsym=USD&limit=60&aggregate=1&e=Coinbase"
url2 = "https://min-api.cryptocompare.com/data/histominute?fsym=ETH&tsym=BCH&limit=30&aggregate=1&e=CCCAGG"

r1 = requests.get(url1)
r2 = requests.get(url2)
r1_source = r1.json()["Data"]
r2_source = r2.json()["Data"]

r1_data = [i["close"] for i in r1_source]
r1_time = [format_date(i["time"]) for i in r1_source]
# r2_data = [i["close"] for i in r2_source]
# r2_time = [i["time"] for i in r2_source]

p = figure(plot_width=800, plot_height=400)
p.line(r1_time,r1_data, line_width=2)

# p.line(r2_time, r2_data, line_width=2, line_color="red")

p.xaxis.major_label_orientation = pi/4

введите описание изображения здесь

person briancaffey    schedule 22.01.2018