Skip to content

Commit 0cd9324

Browse files
committed
add 20
1 parent 991d660 commit 0cd9324

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,5 @@
3131
* p18_打开网页 [源码下载](p18_打开网页) [博文地址](https://xugaoxiang.com/2021/08/05/pyqt5-18-pyqtwebengine/)
3232

3333
* p19_跑马灯 [源码下载](p19_跑马灯) [博文地址](https://xugaoxiang.com/2021/10/08/pyqt5-19-marquee/)
34+
*
35+
* p20_柱状图 [源码下载](p20_柱状图) [博文地址](https://xugaoxiang.com/2021/10/08/pyqt5-20-barchart/)

p20_柱状图/main.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
2+
from PyQt5.QtChart import QChart, QChartView, QBarSet, QBarSeries, QBarCategoryAxis
3+
import sys
4+
import random
5+
6+
class MainWindow(QWidget):
7+
def __init__(self):
8+
super().__init__()
9+
10+
self.setGeometry(200, 200, 600, 400)
11+
self.setWindowTitle("柱状图示例")
12+
13+
set = QBarSet("Points")
14+
15+
for i in range(7):
16+
# 随机7个样本数据
17+
set.append(random.randint(0, 100))
18+
19+
# 若显示各部分所占百分比,用QPercentBarSeries
20+
series = QBarSeries()
21+
series.append(set)
22+
23+
chart = QChart()
24+
chart.addSeries(series)
25+
chart.setTitle("一周数据展示")
26+
chart.setAnimationOptions(QChart.SeriesAnimations)
27+
chart.setTheme(QChart.ChartThemeDark)
28+
29+
# 横轴数据
30+
categories = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
31+
32+
axis = QBarCategoryAxis()
33+
axis.append(categories)
34+
chart.createDefaultAxes()
35+
chart.setAxisX(axis, series)
36+
37+
# 实例化chartview
38+
chartview = QChartView(chart)
39+
40+
vbox = QVBoxLayout()
41+
vbox.addWidget(chartview)
42+
43+
self.setLayout(vbox)
44+
45+
if __name__ == '__main__':
46+
47+
app = QApplication(sys.argv)
48+
window = MainWindow()
49+
window.show()
50+
sys.exit(app.exec())

0 commit comments

Comments
 (0)