PyQtGraph - 获取错误条形图的 Chache 模式
在本文中,我们将看到如何在 PyQtGraph 模块中获取错误条形图的缓存模式。 PyQtGraph 是一个用于Python的图形和用户界面库,它提供了设计和科学应用程序中通常需要的功能。它的主要目标是提供用于显示数据(绘图、视频等)的快速交互式图形。误差条是数据可变性的图形表示,并在图表上用于指示报告测量中的误差或不确定性。它们给出了测量精确度的一般概念,或者相反,真实值可能与报告值相差多远。误差条项目的位置基本上是数据从原点开始的位置,默认为 0, 0 虽然它可以随时更改。缓存用于通过分配和渲染到离屏像素缓冲区来加速渲染,当项目需要重绘时可以重用。对于某些绘图设备,缓存直接存储在图形内存中,这使得渲染速度非常快。它可以在 setCacheMode 方法的帮助下进行设置。
我们可以在下面给出的命令的帮助下创建一个绘图窗口并在其上创建误差条形图
# creating a pyqtgraph plot window
plt = pg.plot()
# creating a error bar item object
error = pg.ErrorBarItem(x=x, y=y, top=top, bottom=bottom, beam=0.5)
In order to do this we use cacheMode method with the error bar item object
Syntax : error.cacheMode()
Argument : It takes no argument
Return : It returns mode value
下面是实现
Python3
# importing Qt widgets
from PyQt5.QtWidgets import *
# importing system
import sys
# importing numpy as np
import numpy as np
# importing pyqtgraph as pg
import pyqtgraph as pg
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from collections import namedtuple
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 Error Bar plot")
# setting minimum width
label.setMinimumWidth(130)
# making label do word wrap
label.setWordWrap(True)
# setting configuration options
pg.setConfigOptions(antialias=True)
# creating x-axis values
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# creating y-axis values
y = np.array([5, 4, 3, 2, 5, 6, 4, 8, 9, 8])
# creating upper bound values
top = np.array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
# creating lower bound values
bottom = np.array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
# creating a plot window
plt = pg.plot()
# creating a error bar item
error = pg.ErrorBarItem(beam=0.5)
# setting data to error bar item
error.setData(x=x, y=y, top=top, bottom=bottom)
# adding error bar item to the plot window
plt.addItem(error)
# plotting the data on plot window
plt.plot(x, y, symbol='o', pen={'color': 0.8, 'width': 2})
# Creating a grid layout
layout = QGridLayout()
# minimum width value of the label
label.setMinimumWidth(130)
# 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(plt, 0, 1, 3, 1)
# setting this widget as central widget of the main widow
self.setCentralWidget(widget)
# setting cache mode of error bar item
error.setCacheMode(1)
# getting cache mode of the error bar item
value = error.cacheMode()
# setting text to the label
label.setText("Cache Mode : " + str(value))
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出 :