首页 > 其他分享 >(3-4)绘制散点图和折线图:绘制BTC(比特币)和ETH(以太币)的价格走势图

(3-4)绘制散点图和折线图:绘制BTC(比特币)和ETH(以太币)的价格走势图

时间:2024-09-02 15:53:27浏览次数:6  
标签:plt price 散点图 USD BTC import ETH 绘制

3.4  绘制BTC(比特币)和ETH(以太币)的价格走势图

在本节的内容中,将远程获取当前国际市场中BTC(比特币)和ETH(以太币)的实时价格,并绘制BTC(比特币)和ETH(以太币)的价格走势曲线图。

3.4.1  抓取数据

编写实例文件Assignment_Step1.py,功能是抓取权威网站中BTC和ETH的报价数据,并打印输出显示BTC和ETH的当前价格。

源码路径:codes\3\3-4\Crypto-Analysis\Assignment_Step1.py

import requests
def price(symbol, comparison_symbols=['USD'], exchange=''):
    url = 'https://min-api.cryptocompare.com/data/price?fsym={}&tsyms={}'\
            .format(symbol.upper(), ','.join(comparison_symbols).upper())
    if exchange:
        url += '&e={}'.format(exchange)
    page = requests.get(url)
    data = page.json()
    return data

print("当前BTC的美元价格为: "+str(price('BTC')))
print("当前ETH的美元价格为: "+str(price('ETH')))

2020年5月13日执行本实例后会输出:

当前BTC的美元价格为: {'USD': 8910.06}

当前ETH的美元价格为: {'USD': 190.47}

3.4.2  绘制BTC/美元价格曲线

编写实例文件Assignment_Step2.py,功能是根据当前的BTC价格,使用库Matplotlib绘制BTC/美元价格曲线图。

源码路径:codes\3\3-4\Crypto-Analysis\Assignment_Step2.py

from Assignment_Step1 import price
import datetime
import matplotlib.pyplot as plt

x=[0]
y=[0]
fig = plt.gcf()
fig.show()
fig.canvas.draw()
plt.ylim([0, 20000])
i=0
while(True):
    data = price('BTC')
    i+=1
    x.append(i)
    y.append(data['USD'])
    plt.title("BTC vs USD, Last Update is: "+str(datetime.datetime.now()))
    plt.plot(x,y)
    fig.canvas.draw()
    plt.pause(1000)

执行后的效果如图3-37所示。

图3-37  执行效果

3.4.3  绘制BTC和ETH的历史价格曲线图

编写实例文件Assignment_Step3.py,功能是首先爬取权威网站中的BTC和ETH的历史价格数据,然后使用库Matplotlib和pandas绘制BTC和ETH的历史价格曲线图。

源码路径:codes\3\3-4\Crypto-Analysis\Assignment_Step3.py

import requests
import datetime
import pandas as pd
import matplotlib.pyplot as plt

def hourly_price_historical(symbol, comparison_symbol, limit, aggregate, exchange=''):
    url = 'https://min-api.cryptocompare.com/data/histohour?fsym={}&tsym={}&limit={}&aggregate={}'\
            .format(symbol.upper(), comparison_symbol.upper(), limit, aggregate)
    if exchange:
        url += '&e={}'.format(exchange)
    print(url)
    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

def plotchart(axis, df, symbol, comparison_symbol):
    axis.plot(df.timestamp, df.close)

df1 = hourly_price_historical('BTC','USD', 2000, 1)
df2 = hourly_price_historical('ETH','USD', 2000, 1)
f, axarr = plt.subplots(2)


plotchart(axarr[0],df1,'BTC','USD')
plotchart(axarr[1],df2,'ETH','USD')

plt.show()

执行后的效果如图3-38所示。

图3-38  执行效果

标签:plt,price,散点图,USD,BTC,import,ETH,绘制
From: https://blog.csdn.net/asd343442/article/details/141815554

相关文章

  • 借助图形控件Aspose.PSD, 在 Java 中绘制几何形状
    最近,我们使用Aspose.PSDforJava实现了绘制诸如日食和线条等形状的功能。然而,这篇博文将更进一步,向您展示如何在Java中绘制几何形状。幸运的是,您可以使用这个Java绘图库以编程方式执行此操作,因为它是一个完整的包,可以在Java应用程序中处理形状。因此,没有额外的要求,我们可......
  • OpenCV绘图函数(14)图像上绘制文字的函数putText()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述在图像上绘制指定的文本字符串。cv::putText函数在图像上绘制指定的文本字符串。无法使用指定字体渲染的符号会被问号(?)替换。关于文本渲染的具体示例可以参考getTextSize函数......
  • OpenCV绘图函数(15)图像上绘制矩形函数 rectangle()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述绘制一个简单的、粗的或填充的直立矩形。这个函数cv::rectangle绘制一个矩形轮廓或一个填充的矩形,其两个相对的顶点分别是pt1和pt2。函数原型1voidcv::rectangle( Inpu......
  • 在对数坐标系中绘制函数图象
    本文记述了用Matplotlib在对数坐标系中绘制图象的一种方法,并在以2为底的对数坐标系上展示了选择排序、冒泡排序(二)、快速排序(四)的性能数据图象。笔者按如下布局绘制了12(4x3)幅图象,其中[a,b]代表某幅图象的位置。+---------------+---------------+---------------+|......
  • C# 绘制曲线的ScottPlot.NET
     ScottPlot是一个免费的开源.NET绘图库,可以轻松交互式地显示大型数据集。折线图、条形图、饼图、散点图等只需几行代码即可创建。ScottPlot-.NET的交互式绘图库ScottPlot4.1Demo  官方的demo是最好的学习例程 解压后的文件清单如下, 双击 ScottPlot.Demo.Wi......
  • 20240831_175038 scratch 画笔模块基础图形绘制
    20240904_095445scratch绘制正方形需求实现20240904_105445scratch绘制长方形需求实现注意长方形的长与宽不一样所以不要使用重复执行4次20240904_115445scratch绘制圆形需求实现20240904_125445scratch绘制正三角形需求实现202......
  • python 绘制双y轴,将折线加粗并在折线上做标记
    之前的笔记折线实在是太细了,并且还有点透明,放在论文中特别难看,现在修改一下折线,并且绘制双y轴 #!usr/bin/envpython#-*-coding:utf-8_*-"""@author:Suyue@file:jakjdklj.py@time:2024/08/30{DAY}@desc:"""importpandasaspdimportmatplotlibimportmatplo......
  • 用OpenCV画简单图形以及绘制栅格地图
    目录前言一、用函数绘制简单图形1.画直线2.画矩形3.画圆形二、绘制栅格地图前言    要完成opencv绘制栅格地图,需要具备的基础知识:opencv相关函数的简单使用(包括简单图形和网格的绘制)一、用函数绘制简单图形importcv2importnumpyasnpimportcv2:导入......
  • 结构开发笔记(六):solidworks软件(五):绘制M2x3.0mm螺丝
    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141499374长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…硬件相关开发......
  • 用Python绘制历史K线数据
    历史K线数据是指股票或指数在特定时间段内的价格变化记录,通常包括开盘价、最高价、最低价、收盘价以及成交量等信息。K线图是一种常用的图形表示方法,用于描述股票市场的价格波动,它由一系列的柱状图组成,每个柱状图(也就是一根K线)代表了一定时间周期内的价格变化情况。一:历史K......