首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

查找具有范围(绝对Y轴)堆叠条形图的PyQt5图表

PyQt5是一个基于Python语言的图形用户界面(GUI)库,可以用于创建各种类型的图表,包括堆叠条形图。

堆叠条形图是一种用于比较不同类别或组的数据的图表类型。它将不同类别的数据分成多个堆叠的条形,每个堆叠表示一个特定的数据组。堆叠条形图的Y轴表示数据的值,X轴表示不同的类别或组。

在PyQt5中,可以使用QBarSeries和QStackedBarSeries类来创建堆叠条形图。QBarSeries用于创建普通的条形图,而QStackedBarSeries用于创建堆叠的条形图。可以使用addSeries()方法将这些系列添加到QChart中,并使用setAxisX()和setAxisY()方法设置X轴和Y轴。

以下是一个基本的示例代码,用于创建具有范围堆叠条形图的PyQt5图表:

代码语言:txt
复制
from PyQt5.QtChart import QChart, QChartView, QBarSet, QBarSeries, QBarCategoryAxis, QValueAxis
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QPainter
import sys

class StackedBarChart(QMainWindow):
    def __init__(self):
        super().__init__()

        # 创建数据
        set1 = QBarSet("Series 1")
        set1.append([1, 2, 3, 4, 5])

        set2 = QBarSet("Series 2")
        set2.append([6, 7, 8, 9, 10])

        series = QStackedBarSeries()
        series.append(set1)
        series.append(set2)

        # 创建图表和视图
        chart = QChart()
        chart.addSeries(series)

        # 设置X轴和Y轴
        axisX = QBarCategoryAxis()
        axisX.append(["Category 1", "Category 2", "Category 3", "Category 4", "Category 5"])
        chart.addAxis(axisX, Qt.AlignBottom)
        series.attachAxis(axisX)

        axisY = QValueAxis()
        chart.addAxis(axisY, Qt.AlignLeft)
        series.attachAxis(axisY)

        # 创建图表视图
        chart_view = QChartView(chart)
        chart_view.setRenderHint(QPainter.Antialiasing)

        # 设置主窗口布局
        self.setCentralWidget(chart_view)
        self.resize(800, 600)
        self.setWindowTitle("Stacked Bar Chart Example")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = StackedBarChart()
    window.show()
    sys.exit(app.exec_())

在这个例子中,我们创建了两个数据集(set1和set2),每个数据集包含5个值。然后,我们创建了一个QStackedBarSeries,并将这两个数据集添加到系列中。接下来,我们创建了一个QChart,并将系列添加到图表中。然后,我们创建了一个QBarCategoryAxis作为X轴,并将其附加到系列上。我们还创建了一个QValueAxis作为Y轴,并将其附加到系列上。最后,我们创建了一个QChartView,并将其设置为主窗口的中央部件。

这只是一个简单的示例,你可以根据自己的需求进行更多的定制和配置。希望这可以帮助到你!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券