In this article we will see how we can create bar graph in the PyQtGraph module. PyQtGraph is a graphics and user interface library for Python that provides functionality commonly required in designing and science applications. Its primary goals are to provide fast, interactive graphics for displaying data (plots, video, etc.) and second is to provide tools to aid in rapid application development (for example, property trees such as used in Qt Designer).
A bar graph is a method for visualizing a set of data. Simple bar graphs compare data with one independent variable and can relate to a set point or range of data. Complex bar graphs compare data with two independent variables. Either type of graph can be oriented horizontally or vertically. Bar graph is created with the help of BarGraphItem class in PyQtGraph.
In order to plot the bar graph in PyQtGraph we have to do the following
1. Importing the PyQtgraph module
2. Creating a plot window
3. Create or get the plotting data i.e horizontal and vertical data
4. Create a BarGraphItem object to plot the bar graph between the data
5. Append the BarGraphItem object to the plot window
Below is the implementation
# importing pyqtgraph as pg import pyqtgraph as pg # importing QtCore and QtGui from # the pyqtgraph module from pyqtgraph.Qt import QtCore, QtGui # importing numpy as np import numpy as np import time # creating a pyqtgraph plot window window = pg.plot() # setting window geometry # left = 100, top = 100 # width = 600, height = 500 window.setGeometry( 100 , 100 , 600 , 500 ) # title for the plot window title = "Lazyroar PyQtGraph" # setting window title to plot window window.setWindowTitle(title) # create list for y-axis y1 = [ 5 , 5 , 7 , 10 , 3 , 8 , 9 , 1 , 6 , 2 ] # create horizontal list i.e x-axis x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] # create pyqt5graph bar graph item # with width = 0.6 # with bar colors = green bargraph = pg.BarGraphItem(x = x, height = y1, width = 0.6 , brush = 'g' ) # add item to plot window # adding bargraph item to the window window.addItem(bargraph) # main method if __name__ = = '__main__' : # importing system import sys # Start Qt event loop unless running in interactive mode or using if (sys.flags.interactive ! = 1 ) or not hasattr (QtCore, 'PYQT_VERSION' ): QtGui.QApplication.instance().exec_() |
Output :