Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from random import randint
- from PyQt5 import QtCore, QtGui, QtWidgets, QtChart
- class Widget(QtWidgets.QMainWindow):
- def __init__(self, parent=None):
- super(Widget, self).__init__(parent)
- series = QtChart.QLineSeries()
- for i in range(10):
- series << QtCore.QPointF(i, 1 * (10 ** (-19 - i)))
- series.setUseOpenGL(True)
- chart = QtChart.QChart()
- chart.addSeries(series)
- axisX = QtChart.QValueAxis()
- axisX.setTitleText("Data point")
- axisX.setLabelFormat("%i")
- axisX.setTickCount(series.count())
- chart.addAxis(axisX, QtCore.Qt.AlignBottom)
- series.attachAxis(axisX)
- axisY = QtChart.QLogValueAxis()
- axisY.setTitleText("Values")
- axisY.setLabelFormat("%g")
- axisY.setBase(10.0)
- axisY.setMinorTickCount(5)
- chart.addAxis(axisY, QtCore.Qt.AlignLeft)
- series.attachAxis(axisY)
- chartview = QtChart.QChartView(chart)
- chartview.setRubberBand(QtChart.QChartView.RectangleRubberBand)
- self.setCentralWidget(chartview)
- QtWidgets.QShortcut(QtGui.QKeySequence.ZoomOut, self, activated=chart.zoomOut)
- QtWidgets.QShortcut(QtGui.QKeySequence.ZoomIn, self, activated=chart.zoomIn)
- if __name__ == '__main__':
- import sys
- app = QtWidgets.QApplication(sys.argv)
- w = Widget()
- w.resize(640, 480)
- w.show()
- sys.exit(app.exec_())
Add Comment
Please, Sign In to add comment