Anaconda中的线图

时间:2018-01-22 18:17:44

标签: python graph package anaconda linegraph

我正在编写一个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

目前,我在Visual Studio上安装了Anaconda 3.6,根据https://docs.anaconda.com/anaconda/packages/py3.6_win-64.html,它应该包含多个包来绘制这些数据,而无需通过命令行手动安装第三方代码。但是,当我尝试导入它们中的任何一个(即matplotlib,bokeh,seaborn)时,我收到一条“ModuleNotFoundError”消息,因此我不确定我的Anaconda是否正常运行。用Anaconda绘制这些数据的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

VSCode中的python解释器可能没有使用您的Anaconda安装。在VSCode python shell中,键入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

enter image description here