小编par*_*ium的帖子

Pyqtgraph - 如何添加轴日期时间?

该示例使用文件“QtChart.ui”(这很重要),其中嵌入了Pyqtgraph的小部件(这也很重要)。

问题: 显示了图形,但显示了自纪元开始以来的秒数,而不是日期时间轴。

axis = pg.DateAxisItem(orientation='bottom') 按照示例设置了变量,应该将其添加到这样的行中pw = pg.PlotWidget(viewBox=vb, axisItems={'bottom': axis}),但是我的代码中没有这样的行。

如何从纪元开始设置日期时间轴而不是秒?

代码:

import random
import sys
from PyQt5.QtCore import *
from PyQt5 import QtWidgets, uic
from PyQt5.QtWidgets import QMainWindow
import time
import pyqtgraph as pg

x = []
y = []

class draw_interface(QMainWindow):
    def __init__(self):
        super(draw_interface, self).__init__()
        uic.loadUi('QtChart.ui', self)

        self.timer_update_events = QTimer()
        self.timer_update_events.timeout.connect(self.update_chart)
        self.timer_update_events.start(1000)

        axis = pg.DateAxisItem(orientation='bottom')

        self.line = pg.PlotCurveItem(clear=True, pen="g")
        self.widget.addItem(self.line)

        self.show()

    def update_chart(self):
        global x, y

        x.append(time.time())
        y.append(random.uniform(0, …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqtgraph pyqt5

3
推荐指数
1
解决办法
287
查看次数

如何在 QtCharts 中添加子图?

我需要创建两个图表(子图,同步)并设置尺寸,如下所示:

  • 上图是输出面积的75%
  • 下图是输出区域高度的25%。

就像这个草图一样。

在此输入图像描述

一张图表很容易创建(代码如下)。但要添加第二个子图 - 它不起作用。我尝试通过 QVBoxLayout() 添加它,但也失败了。

我找到了所需的示例,如何使用 QCharts 创建子图?但它不是用 Python 编写的(这在尝试转换为 Python 时会引起麻烦)。这里https://doc.qt.io/qt-5/qchart.html#chartType-prop也不在那里,而且它也不在Python中。

如何添加子图并指示尺寸(以像素或%为单位)?

from random import uniform
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
from PyQt5.QtChart import QChart, QChartView, QLineSeries



class Window(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setGeometry(100, 100, 680, 500)
        self.create_linechart()
        self.show()

    def create_linechart(self):

        series = QLineSeries(self)
        for i in range(100):
            series.append(i, uniform(0, 10))

        chart = QChart()
        chart.addSeries(series)
        chart.createDefaultAxes()
        chartview = QChartView(chart)
        self.setCentralWidget(chartview)


App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Run Code Online (Sandbox Code Playgroud)

python pyqt5 qtcharts qchart

2
推荐指数
1
解决办法
783
查看次数

标签 统计

pyqt5 ×2

python ×2

pyqt ×1

pyqtgraph ×1

qchart ×1

qtcharts ×1