python canvas获取的图片流数据为空
def StartDraw(self):canvas = plt.figure().canvasplt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号win = np.array(self.win)drawn = np.array(self.drawn)lost = np.array(self.lost)crwin = np.array(self.crwin)crdrawn = np.array(self.crdrawn)crlost = np.array(self.crlost)changeTime = np.array(self.changeTime)crChangeTime = np.array(self.crChangeTime)# 获取开始时间和终止时间startDay = min(crChangeTime[0], changeTime[0])endDay = max(crChangeTime[-1], changeTime[-1])# 设置外边框的样式及长度plt.figure(facecolor='gray', edgecolor='white', figsize=(24,12))ax = plt.gca()# 设置内边框样式ax.patch.set_facecolor("black") # 设置ax1区域背景颜色ax.patch.set_alpha(10)# 设置ax1区域背景颜色透明度# 去掉脊柱(坐标系)ax.xaxis.set_major_formatter(mdate.DateFormatter('%y-%m-%d %H:%M',)) # 横坐标标签显示的日期格式plt.xticks(pd.date_range(startDay, endDay, freq=self.freq), rotation=45) # 横坐标范围ax.spines['top'].set_visible(False) # 去掉上边框ax.spines['right'].set_visible(False) # 去掉右边框ax.spines['left'].set_visible(False) # 去掉上边框plt.ylabel('odds change', color='black', size='15')plt.xlabel('with the time', color='black', size='15')# 标题plt.title(self.VS)# 设置图形注释,参数依次为注释文字,箭头位置,箭尾位置。在箭头参数中参数为箭头颜色plt.annotate('win', xy=(-0.05, win[0] - 0.15), color='#02F8FB')plt.annotate('drawn', xy=(-0.05, drawn[0] - 0.15), color='#02F8FB')plt.annotate('lost', xy=(-0.05, lost[0] - 0.15), color='#02F8FB')plt.plot(changeTime, win, linestyle='dashdot', marker='^', linewidth=0.5, color='#29FF16', label='win')plt.plot(changeTime, drawn, linestyle='dashdot', marker='^', linewidth=0.5, color='#7CFFF2', label='drawn')plt.plot(changeTime, lost, linestyle='dashdot', marker='^', linewidth=0.5, color='#FF0913', label='lost')plt.annotate('win', xy=(-0.05, win[0] - 0.15), color='#02F8FB')plt.annotate('drawn', xy=(-0.05, drawn[0] - 0.15), color='#02F8FB')plt.annotate('lost', xy=(-0.05, lost[0] - 0.15), color='#02F8FB')plt.plot(crChangeTime, crwin, linestyle='-', linewidth=1, color='#29FF16', label='crwin')plt.plot(crChangeTime, crdrawn, linestyle='-', linewidth=1, color='#7CFFF2', label='crdrawn')plt.plot(crChangeTime, crlost, linestyle='-', linewidth=1, color='#FF0913', label='crlost')# 开启网格plt.grid(True)plt.grid(color='white', linestyle='--', linewidth=1, alpha=0.2)# 绘制图注位置plt.legend(bbox_to_anchor=(0.005, 1), loc=3, borderaxespad=0)fileName = self.crChangeTime[-1].strftime('%Y-%m-%d') + ' ' + self.VS+'.png'##一定要注意这一句,不然canvas获取不到图片流canvas = plt.get_current_fig_manager().canvas# 获取流数据方便上传到Minio# 获取输入输出流对象buffer = io.BytesIO()# 将画布上的内容打印到输入输出流对象canvas.print_png(buffer)# 获取流的值IODataForMinio = buffer.getvalue()# 正式上传Miniobuffer.write(IODataForMinio)ioLength = io.BytesIO(IODataForMinio).getbuffer().nbytesfileName = self.crChangeTime[-1].strftime('%Y-%m-%d') + ' ' + self.VS + '.png'UploadMinio(io.BytesIO(IODataForMinio),ioLength,fileName)buffer.close()
canvas = plt.get_current_fig_manager().canvas
参考文章
python canvas获取的图片流数据为空相关推荐
- vue获取图片流数据并展示
vue获取图片流数据并展示 一.问题描述 二.数据获取 三.数据展示 1.window.URL.createObjectURL() (1)URL (2)createObjectURL 2.封装blob ...
- Python爬虫获取基金持仓股票数据
Python爬虫小实战 . 通过Python爬虫获取基金持仓股票数据,按照基金持仓金额对股票进行排行,并储存在本地数据库. from urllib import request from bs4 im ...
- 【转】Python之获取每日涨停板股票数据并绘制K线图!
利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...
- Python之获取每日涨停板股票数据并绘制K线图!
利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...
- python tabula获取pdf的列表数据
tabula的功能比camelot更加强大,可以同时对多个表格数据进行提取.项目的具体地址请参考:https://github.com/chezou/tabula-py 安装 tabula的安装是非常 ...
- python suds 获取webService封装的数据
1.suds的client获取webService封装的数据,URL为http:// **?WSDL形式 from suds.client import Client import sys def g ...
- 【天勤量化】python多进程获取所有期货分钟数据和股票日线数据
文章目录 1. 天勤量化不同版本区别 2. 多进程获取期货分钟数据和股票日线数据 3. 多进程获取期货分钟数据并且每日实时更新历史数据 4.常见问题 4.1 ray包无法安装 4.2 免费账户能否获得 ...
- python 爬虫 获取bilibili search搜索数据,返回json格式
话不多说直接上代码 测试用例 : 搜索java为关键词的 时长在60分钟以上的视频 import requests import json import osheaders = {"user ...
- python numba 转灰度图_Python数据预处理:Dask和Numba并行化加速!
如果你善于使用Pandas变换数据.创建特征以及清洗数据等,那么你就能够轻松地使用Dask和Numba并行加速你的工作.单纯从速度上比较,Dask完胜Python,而Numba打败Dask,那么Num ...
最新文章
- 一文解读Tensor到底是个啥玩意儿?(附代码)
- MYSQL数据库导入数据时出现乱码的解决办法
- 世上描述宇宙最精确的科学理论
- linux查看注册表信息,linux下登录档及其查看方法
- 联万物,+智能,为行业,华为云升级OceanConnect IoT全栈云服务
- 简述php语言的特点是_PHP语言有哪些优势和特点(一)
- 一条汇编指令是如何在计算机的硬件中进行执行的
- 【渝粤教育】国家开放大学2018年秋季 0300-22T图形创意 参考试题
- 190728-flink官方文档阅读和实战记录
- python爬虫100例教程 python爬虫实例100例子
- 楷书书法规则_书法结构|楷书10大结构原则详解之3--主笔突出原则
- 如何获取 Boot Camp for Windows(Mac电脑装Windows后如何安装驱动)
- App Store审核规范
- GB2312和UTF-8
- 高德地图应用:接口调用权限安全升级( web端API接口加密)(文档篇)
- c++程序员书籍推荐
- python中sticky_vue-sticky组件详解
- 三星R463无线网卡驱动,声卡驱动,FN快捷键驱动,Easy_Display_Manager
- 12312312312313
- 淘宝、天猫API接口