# -*- coding: utf-8 -*-
"""
In this example we draw two different kinds of histogram.
""" from qtpy import QtWidgets, QtGui, QtCore
from qtpy.QtWidgets import QApplication, QWidget
import datetime as dt
from vnpy.trader import *
from vnpy.trader.uiKLine import *
from vnpy.trader.widget.crosshairTool import CrosshairTool
import pyqtgraph as pg
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import sys
class HistogramLUTWidget(QWidget):
def __init__(self, data, parent=None):
self.parent = parent
self.data = data
super(HistogramLUTWidget, self).__init__(parent) # 继承
# 界面布局
self.pw=pg.PlotWidget() self.lay_KL = pg.GraphicsLayout(border=(100, 100, 100))
self.lay_KL.setContentsMargins(10, 10, 10, 10)
self.lay_KL.setSpacing(0)
self.lay_KL.setBorder(color=(255, 255, 255, 255), width=0.8)
self.lay_KL.setZValue(0)
self.pw.setCentralItem(self.lay_KL)
# # 设置横坐标
# xdict = dict(enumerate(self.data["timeList"]))
# self.axisTime = MyStringAxis(xdict, orientation='bottom')
# # 初始化子图
self.initplotpnl()
# # 注册十字光标
x=[]
viwe = self.plt
self.crosshair = CrosshairTool(self.pw, x, viwe, self)
# 设置界面
self.vb = QtWidgets.QVBoxLayout()
self.vb.addWidget(self.pw)
self.setLayout(self.vb)
# ---------------------------------------------------------------------- def initplotpnl(self, xmin=0, xmax=-1):
vals = np.hstack(self.data)
xMin = min(self.data)
xMax = max(self.data)
#histogram
#y, x = np.histogram(vals, bins=np.linspace(xMin,xMax, 100),normed=False,density=True)
# #hist
nx, xbins, ptchs = plt.hist(self.data, bins=50, normed=True, facecolor='black', edgecolor='black',alpha=1,histtype = 'bar')
histo = plt.hist(self.data, 50)
vb = CustomViewBox()
# self.plt=pg.PlotItem(viewBox=vb, axisItems={'bottom': self.axisTime})#设置x轴
self.plt = pg.PlotItem(viewBox=vb)
leng_ = len(self.data)
self.plt.setRange(xRange=(0, leng_), yRange=(xMin, xMax))
# #histogram
# self.plt.plot(x, y, stepMode=True, fillLevel=0, brush=(0, 0, 255, 50),size=0.4)#绘制统计所得到的概率密度,直方图,没有边界分割线
##hist bar
width = xbins[1] - xbins[0] # Width of each bin.
#self.plt.plot(x,y,width=width)# 绘制统计所得到的概率密度,线形图
self.pi=pg.BarGraphItem(x=histo[1][0:50],height=histo[0],width=width, color='y',)# 绘制统计所得到的概率密度,bar图
self.plt.addItem(self.pi)
self.lay_KL.addItem(self.plt) def refresh(self):
"""
刷新子图的现实范围
"""
leng_ = len(self.data)
xMin = min(self.data)
xMax = max(self.data)
self.plt.setRange(xRange=(0, leng_), yRange=(xMin, xMax)) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = HistogramLUTWidget()
sys.exit(app.exec_()) ####才接触,项目急没有细研究,有错误的改正的地方,望大家不吝指出

python pyqt绘制直方图的更多相关文章

  1. Python使用Plotly绘图工具,绘制直方图

    今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...

  2. Python:matplotlib绘制直方图

    使用hist方法来绘制直方图:     绘制直方图,最主要的是一个数据集data和需要划分的区间数量bins,另外你也可以设置一些颜色.类型参数: plt.hist(np.random.randn(1 ...

  3. NumPy使用 Matplotlib 绘制直方图

    NumPy - 使用 Matplotlib 绘制直方图 NumPy 有一个numpy.histogram()函数,它是数据的频率分布的图形表示. 水平尺寸相等的矩形对应于类间隔,称为bin,变量hei ...

  4. matplotlib绘制直方图【柱状图】

    代码: def drawBar(): xticks = ['A', 'B', 'C', 'D', 'E']#每个柱的下标说明 gradeGroup = {'A':200,'B':250,'C':330 ...

  5. Python实现图像直方图均衡化算法

    title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...

  6. 关于matplotlib绘制直方图偏移的问题

    在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...

  7. 使用Python统计函数绘制简单图形matplotlib

    1.bar() -- 绘制柱状图 plt.bar(x,y,align="center",color="b",tick_label=["a", ...

  8. Python turtle绘制阴阳太极图代码解析

    本文详细分析如何使用Python turtle绘制阴阳太极图,先来分解这个图形,图片中有四种颜色,每条曲线上的箭头表示乌龟移动的方向,首先从中心画一个半圆(红线),以红线所示圆的直径作半径画一个校园, ...

  9. MFC绘制直方图和饼图

    转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...

随机推荐

  1. Docker:从头开始基于CentOS-Minimal安装Docker

    基础环境:win10+vmware 14 一.CentOS-Minimal安装 虚拟机安装CentOS-Minimal的步骤不多说,网络选Net,硬件不需要的什么声卡打印机全都删掉没什么问题,然后ce ...

  2. echarts 中国地图 数据自动提示

    mounted() { // 首先每种图是根据series -->type决定的 eg:bar--柱状图 line 折线图 pie饼图 map地图等等三部曲 跟着走 // @第一步都是初始化 v ...

  3. tomcat 编码给为utf-8

    在tomcat下找到server.xml 打开server.xml,在下图加上URIEncoding="UTF-8".

  4. 光圈,快门, 曝光,焦距, ISO,景深。

    光圈,快门, 曝光,焦距, ISO,景深. ISO(感光度)与图片质量 ISO -- 感光度,是一个曝光率极高的词,我们在超市买饼干的时候就可能会看见包装袋上写:本公司已通过ISO9001质量体系认证 ...

  5. SDK?JDK?JDK 下载、安装、配置图文教程

    什么是软件开发工具包(SDK)   开发一个软件,需要经过编辑.编译.调试.运行几个过程. 编辑:使用编程语言编写程序代码的过程. 编译:如上一节所讲,就是将编写的程序进行翻译. 调试:程序不可能一次 ...

  6. vim基本命令总结

    编辑模式下i 从光标所在位置前开始插入文本I 将光标移动到当前行行首,然后在其前插入文本a 用于在光标当前所在位置之后追加新文本A 将光标移动到所在行行尾,在那里插入新文本o 在光标所在行的下面新开一 ...

  7. @Conditional 原理

    1,这里讲的是:org.springframework.context.annotation.Conditional 2,在springConfig文件里注册bean @Conditional(Col ...

  8. newJob_newFell

    雄关漫道真如铁,而今迈步从头越. 不求闻达于诸侯,但求无愧于初心.

  9. Java处理对象

    1.打印对象和toString 方法     toString() 方法是Object 类的一个实例方法,所有的Java类都是Object类的子类,因此所有的Java对象都是具有toString()方 ...

  10. 安卓抓包https

    https://blog.csdn.net/yichengace/article/details/80167878