En este artículo veremos cómo podemos obtener la señal de cambio de rotación para el gráfico de barras en el módulo PyQtGraph. PyQtGraph es una biblioteca de interfaz de usuario y gráficos para Python que proporciona la funcionalidad comúnmente requerida en el diseño y las aplicaciones científicas. Sus objetivos principales son proporcionar gráficos rápidos e interactivos para mostrar datos (gráficos, videos, etc.) y, en segundo lugar, proporcionar herramientas para ayudar en el desarrollo rápido de aplicaciones (por ejemplo, árboles de propiedades como los que se usan en Qt Designer). Un gráfico de barras o gráfico de barras es una tabla o gráfico que presenta datos categóricos con barras rectangulares con alturas o longitudes proporcionales a los valores que representan. Las barras se pueden trazar vertical u horizontalmente. Un gráfico de barras verticales a veces se denomina gráfico de columnas. Una rotación es un movimiento circular de un objeto alrededor de un centro de rotación.
Podemos crear una ventana de trazado y un gráfico de barras con la ayuda de los comandos que se indican a continuación.
# creating a pyqtgraph plot window window = pg.plot() # creating a bar graph of green color bargraph = pg.BarGraphItem(x=x, height=y1, width=0.6, brush='g')
Para hacer esto usamos el método de rotaciónChanged.connect con el objeto de gráfico de barras
Sintaxis: bargraph.rotationChanged.connect(método)
Argumento: Toma el método como argumento
Retorno: Devuelve Ninguno
A continuación se muestra la implementación.
Python3
# importing Qt widgets from PyQt5.QtWidgets import * import sys # importing pyqtgraph as pg import pyqtgraph as pg from PyQt5.QtGui import * # Bar Graph class class BarGraphItem(pg.BarGraphItem): # constructor which inherit original # BarGraphItem def __init__(self, *args, **kwargs): pg.BarGraphItem.__init__(self, *args, **kwargs) # creating a mouse double click event def mouseDoubleClickEvent(self, e): # changing the rotation of the bar graph self.setRotation(35) class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("PyQtGraph") # setting geometry self.setGeometry(100, 100, 600, 500) # icon icon = QIcon("skin.png") # setting icon to the window self.setWindowIcon(icon) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): # creating a widget object widget = QWidget() # creating a label label = QLabel("Geeksforgeeks") # creating a plot window plot = pg.plot() # 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 = BarGraphItem(x = x, height = y1, width = 0.6, brush ='g') # add item to plot window # adding bargraph item to the plot window plot.addItem(bargraph) # Creating a grid layout layout = QGridLayout() # setting this layout to the widget widget.setLayout(layout) # adding label in the layout layout.addWidget(label, 1, 0) # plot window goes on right side, spanning 3 rows layout.addWidget(plot, 0, 1, 3, 1) # setting this widget as central widget of the main window self.setCentralWidget(widget) # signal emitted when rotation is changed bargraph.rotationChanged.connect(lambda: do_action()) # do action method called by bar graph def do_action(): # setting text to the label label.setText("Rotation of bar graph is Changed") # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA