iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Python

pythonGUI學習筆記系列 第 28

Day 28: PySide6 QChart圖表

  • 分享至 

  • xImage
  •  

QChart 圖表

在 PySide6 如果要顯示簡單的圖表,例如折線圖、圓餅圖等。可以透過 QtCharts 來顯示。

1. QChart 使用方法

創建圖表

  • QChart : 圖表的主要類別,用來管理圖表各種屬性和功能。例如設這圖表標題,添加數據等功能。

  • QChartView(QChart) : 專門用來顯示圖表的元件,可以當成畫布。

2. 範例 : 折線圖

引入需要的元件

from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from PySide6.QtCharts import QChart, QChartView, QLineSeries
from PySide6.QtCore import Qt

創建折線圖

使用 QLineSeries() 來創建一個折線圖,並通過 append() 方法添加數據點進去。

# 創建折線圖
series = QLineSeries()
series.append(0, 6)
series.append(2, 4)
series.append(3, 8)
series.append(7, 4)
series.append(10, 5)

創建 QChart

接下來,創建一個 QChart 並將折線數據添加進去,然後設定圖表的標題

chart = QChart()
chart.addSeries(series)
chart.setTitle("簡單的折線圖")
  • setTitle(str) : 設定圖表的標題。

設定x軸和y軸標題

增加圖表的可讀性,設定 X 軸和 Y 軸的標題。這裡引入 QValueAxis() 來設定

# 設定 X 軸和 Y 軸
axisX = QValueAxis()
axisX.setTitleText("時間 (秒)")  # 設定 X 軸名稱
axisY = QValueAxis()
axisY.setTitleText("數值")  # 設定 Y 軸名稱
# 設定xy軸標題
chart.setAxisX(axisX,series)
chart.setAxisY(axisY,series)

顯示圖表和設定布局

chart.createDefaultAxes()
chart_view = QChartView(chart)

# 設置主視窗布局
layout = QVBoxLayout()
layout.addWidget(chart_view)

container = QWidget()
container.setLayout(layout)

執行窗口

創建應用程序並顯示窗口

if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec()

折線圖


上一篇
Day 27: PySide6 設定元件樣式
下一篇
Day 29: PySide6 進階布局
系列文
pythonGUI學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言