PyQt5+QtChart实现柱状图的绘制

目录
  • 柱状图分类
  • 实现代码
  • 效果图

柱状图分类

QBarSeries:竖向柱状图

QPercentBarSeries:竖向百分比柱状图

QStackedBarSeries:竖向堆叠柱状图

QHorizontalBarSeries:横向柱状图

QHorizontalPercentBarSeries:横向百分比柱状图

QHorizontalStackedBarSeries:横向堆叠柱状图

实现代码

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QBarSet, QBarSeries, QChart, QChartView, QValueAxis, QBarCategoryAxis,\
          QBarLegendMarker, QVBarModelMapper, QHBarModelMapper, QHorizontalBarSeries,QPercentBarSeries, \
          QHorizontalPercentBarSeries, QHorizontalStackedBarSeries,QStackedBarSeries

class MyBarWindow(QWidget):
    def __init__(self, parent=None):
        super(MyBarWindow, self).__init__(parent)

        chart = QChart()
        barSeries = QBarSeries()    # 竖向柱状图
        # barSeries = QPercentBarSeries()   # 竖向百分比柱状图
        # barSeries = QHorizontalBarSeries()    # 横向柱状图
        # barSeries = QHorizontalPercentBarSeries()   # 横向百分比柱状图
        # barSeries = QStackedBarSeries() # 竖向堆叠柱状图
        # barSeries = QHorizontalStackedBarSeries() # 横向堆叠柱状图

        chartView = QChartView()
        valueAxisY = QValueAxis()
        barCategorAxisX = QBarCategoryAxis()

        chart.setAnimationOptions(QChart.AllAnimations)
        chart.setAnimationEasingCurve(QEasingCurve.OutBack)

        set0 = QBarSet("产品1")
        set1 = QBarSet("产品2")
        set2 = QBarSet("产品3")

        set0.append(10.12345)
        set0.append(3.23)
        set0.append(7)

        set1.append(5)
        set1.append(2)
        set1.append(9)

        set2.append(9)
        set2.append(1)
        set2.append(7)

        barSeries.append(set0)
        barSeries.append(set1)
        barSeries.append(set2)
        barSeries.setBarWidth(0.8)

        barSeries.setLabelsVisible(True)
        barSeries.setLabelsAngle(75.0)
        barSeries.setLabelsPrecision(3)
        # barSeries.setLabelsFormat("")

        barCategorAxisX.append(["一季度", "二季度", "三季度"])

        valueAxisY.setRange(0, 10)

        chart.setTitle("柱状图表")
        chart.setAxisX(barCategorAxisX)
        chart.setAxisY(valueAxisY)
        chart.addSeries(barSeries)

        chartView.setChart(chart)

        vbox = QVBoxLayout()
        vbox.addWidget(chartView)
        self.setLayout(vbox)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MyBarWindow()
    win.show()
    sys.exit(app.exec_())

效果图

竖向柱状图

竖向百分比柱状图

竖向堆叠柱状图

横向柱状图

横向百分比柱状图

横向堆叠柱状图

到此这篇关于PyQt5+QtChart实现柱状图的绘制的文章就介绍到这了,更多相关PyQt5 QtChart柱状图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PyQt5+QtChart绘制散点图

    PyQt5 QtChart-散点图 QScatterSeries类将数据以散点图显示 import sys import random from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtChart import QScatterSeries, QChart, QChartView, QPolarCha

  • python3+PyQt5实现柱状图

    本文通过Python3+pyqt5实现了python Qt GUI 快速编程的16章的excise例子. #!/usr/bin/env python3 import random import sys from PyQt5.QtCore import (QAbstractListModel, QAbstractTableModel, QModelIndex, QSize, QTimer, QVariant, Qt,pyqtSignal) from PyQt5.QtWidgets import (

  • PyQt5结合matplotlib绘图的实现示例

    参考网上的例子,实现了简单的matplotlib pyqt5绘图 相关知识点:  (1)pyqt5中添加控件要在布局中添加  (2)布局可以使用replaceWidget替换控件  (3)信号与槽机制 timer = QtCore.QTimer(self) timer.timeout.connect(self.update_figure) self.btnPlot.clicked.connect(self.plotButton_callback) 实现的效果 import sys from Py

  • PyQt5+QtChart实现柱状图的绘制

    目录 柱状图分类 实现代码 效果图 柱状图分类 QBarSeries:竖向柱状图 QPercentBarSeries:竖向百分比柱状图 QStackedBarSeries:竖向堆叠柱状图 QHorizontalBarSeries:横向柱状图 QHorizontalPercentBarSeries:横向百分比柱状图 QHorizontalStackedBarSeries:横向堆叠柱状图 实现代码 import sys from PyQt5.QtGui import * from PyQt5.QtC

  • Matlab实现极坐标堆叠柱状图的绘制

    目录 part1: 函数介绍 基本使用 角度范围 常用函数:改变样式 常用函数:设置下界 常用函数:修改颜色 添加图例 part2: 完整类函数代码 part3: 两个使用示例 示例一 示例二 极坐标堆叠图也是风玫瑰图的常用形式,MATLAB的bar绘制的条形图可以绘制成堆叠形式,但是并没有一个自带函数可以绘制极坐标堆叠图,而且极坐标下fill函数也不能用,于是就考虑将数据进行累加,并多次调用polarhistogram函数进行绘图,我将这个过程变为了一个方便调用的类. 以下先说明这个类该咋用,

  • C# 绘制统计图大全(柱状图, 折线图, 扇形图)

    统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的:这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图:既然是统计, 当然需要数据, 这里演示的数据存于Sql Server2000中, 三款统计图形都是动态生成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码. 说明: 需求不一样, 统计图形绘制后的显示效果也不一样, 比如这里柱状图

  • python使用Plotly绘图工具绘制柱状图

    本文实例为大家分享了python使用Plotly绘图工具绘制柱状图的具体代码,供大家参考,具体内容如下 使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单的柱状图: # -*- coding: utf-8 -*- import plotly as py import plotly.graph_objs as go pyplt = py.offlin

  • 使用pandas中的DataFrame数据绘制柱状图的方法

    折线图是数据分析的一种手段,但是有时候我们也需要柱状图进行不同数据的可视化量化对比.使用pandas的DataFrame方法进行柱状图的绘制也是比较方便的. 把之前的折线图绘制代码修改一下如下: from pandas import Series,DataFrame from numpy.random import randn import numpy as np import matplotlib.pyplot as plt df = DataFrame(abs(randn(10,5)),co

  • python调用matplotlib模块绘制柱状图

    我们可以调用matplotlib 绘制我们的柱状图,柱状图可以是水平的也可以是竖直的. 在这里我先记录下竖直的柱状图怎么绘制 在这里一般用到的函数就是bar # bar(left, height, width=0.8, bottom=None, hold=None, **kwargs) # 绘制柱形图 # left:柱形图的x坐标 # height柱形图的高度,以0.0为基准 # width:柱形图的宽度,默认0.8 # facecolor:颜色 # edgecolor:边框颜色n # bott

  • Python用 matplotlib 绘制柱状图

    目录 1. 柱状图概述 1.1什么是柱状图 1.2柱状图使用场景 1.3柱状图绘制步骤 1.3案例展示 2. 柱状图属性 2.1柱状体颜色填充 2.2状描边设置 2.3状体边框宽度 2.4刻度标签 3. 堆叠柱状图 4. 并列柱状图 5. 水平柱状图 6. 添加折线柱状图 7. 正负柱状图 复习回顾: Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对matpl

  • Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图

    目录 matplotlib介绍 matplotlib绘制折线图 matplotlib绘制柱状图 matplotlib绘制柱线混合图 总结 matplotlib介绍 Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. 安装Matplotlib库命令:在cmd命令窗口输入pip install matplotlib. matplotlib绘制折线图 1.绘

  • python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图

    目录 1.绘制发散型柱状图 2.绘制带误差阴影的时间序列图 3.绘制双坐标系时间序列图 4.绘制金字塔图 1.绘制发散型柱状图 python绘制发散型柱状图,展示单个指标的变化的顺序和数量,在柱子上添加了数值文本. 实现代码: import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns import warnings wa

  • PyQt5 matplotlib画图不刷新的解决方案

    本人最近在做一个GUI项目时,需要用到matplotlib画图,写完代码运行时,发现所需要画图功能不能正常使用,在触发画图事件后,画布未更新,需要放大界面才能更新(奇葩吧). 经过资料查阅,发现需要画图函数后面添加 self.fig.canvas.draw_idle() 补充:解决PyQt5中使用柱状图和饼状图刷新问题 一.问题描述 在做一款番茄钟应用,其中包含数据统计功能,如下图: 我遇到的问题是:当完成一个番茄钟后,需要对统计数据进行刷新,但是重新调用一下画图函数无效,下面贴出调用的这个画图

随机推荐