我有以下代码:
from PyQt6.QtCharts import QChart, QChartView, QBarSet, QBarCategoryAxis, QStackedBarSeries
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.QtGui import QPainter
from PyQt6.QtCore import Qt
import sys
# NOTE: Modified version of code retrieved from:
# https://codeloop.org/pyqtchart-how-to-create-barchart-in-pyqt5/
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt BarChart")
self.setGeometry(100,100, 680,500)
self.show()
self.create_bar()
def create_bar(self):
# The QBarSet class represents a set of bars in the bar chart.
# It groups several bars into a bar set
set0 = QBarSet("Parwiz")
set1 = QBarSet("Bob")
set2 = QBarSet("Tom")
set3 = QBarSet("Logan")
set4 = QBarSet("Karim")
set0.append([1, 2, 3, 4, 5, 6])
set1.append([5, 0, 0, 4, 0, 7])
set2.append([3, 5, 8, 13, 8, 5])
set3.append([5, 6, 7, 3, 4, 5])
set4.append([9, 7, 5, 3, 1, 2])
series = QStackedBarSeries()
series.append(set0)
series.append(set1)
series.append(set2)
series.append(set3)
series.append(set4)
chart = QChart()
chart.addSeries(series)
chart.setTitle("Percent Example")
categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
axis = QBarCategoryAxis()
axis.append(categories)
chart.addAxis(axis, Qt.AlignmentFlag.AlignBottom)
chartView = QChartView(chart)
chartView.setRenderHint(QPainter.RenderHint.Antialiasing)
self.setCentralWidget(chartView)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
我想更改QBarSet
的形状,使其类似于下面用蓝色圈出的图表:
图像来源于:https://dribbble.com/shots/14154711-Dashboard-charts-library/attachments/5781400?mode=media
我已经想出了如何改变宽度和颜色
目前没有回答
相关问题 更多 >
编程相关推荐