PyQt5 QtChart 绘图笔记
看了很多网上整理的资料都需要付费,实在恶心.英文版俺也看不懂.
第一次写博客,只为整理自己 笔记.
希望大家可以互相分享学习心得! 写的不对,欢迎指导~ 程序媛,在此谢过!
import sys
from PyQt5.QtChart import QChartView, QLineSeries, QChart, QValueAxis
from PyQt5.QtCore import QPointF
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import *
__version__ = "0.0.1"
if __name__ == "__main__":
app = QApplication(sys.argv)
series = QLineSeries() # 定义LineSerise,将类QLineSeries实例化
series_01 = QLineSeries() # 创建曲线
point_0 = QPointF(0.00, 0.00) # 定义折线坐标点
point_1 = QPointF(0.80, 6.00)
point_2 = QPointF(2.00, 2.00)
point_3 = QPointF(4.00, 3.00)
point_4 = QPointF(1.00, 3.00)
point_5 = QPointF(5.00, 3.00)
s_point_0 = QPointF(0.00, 1.00) # 定义折线坐标点
s_point_1 = QPointF(0.80, 5.00)
s_point_2 = QPointF(2.00, 3.00)
s_point_3 = QPointF(4.00, 6.00)
s_point_4 = QPointF(1.00, 2.00)
s_point_5 = QPointF(5.00, 4.00)
point_list = [point_0, point_1, point_4,point_2,point_3,point_5] # 定义折线点清单
point_list_01 = [s_point_0, s_point_1, s_point_4,s_point_2,s_point_3,s_point_5] # 定义折线点清单
series.append(point_list) # 折线添加坐标点
series.setName("折线一") # 折线命名
series_01.append(point_list_01) # 折线添加坐标点
series_01.setName("折线二") # 折线命名
x_Aix = QValueAxis() # 定义x轴,实例化
x_Aix.setRange(0.00, 8.00) # 设置量程
x_Aix.setLabelFormat("%0.2f") # 设置坐标轴坐标显示方式,精确到小数点后两位
x_Aix.setTickCount(8) # 设置x轴有几个量程
x_Aix.setMinorTickCount(0) # 设置每个单元格有几个小的分级
y_Aix = QValueAxis() # 定义y轴
y_Aix.setRange(0.00, 9.00)
y_Aix.setLabelFormat("%0.2f")
y_Aix.setTickCount(9)
y_Aix.setMinorTickCount(0)
charView = QChartView() # 定义charView,父窗体类型为 Window
charView.setGeometry(0, 0, 800, 600) # 设置charView位置、大小
# charView.resize(800, 600)
charView.setRenderHint(QPainter.Antialiasing) # 抗锯齿
charView.chart().addSeries(series) # 添加折线
charView.chart().addSeries(series_01) # 添加折线
charView.chart().setAxisX(x_Aix) # 设置x轴属性
charView.chart().setAxisY(y_Aix) # 设置y轴属性
charView.chart().createDefaultAxes() # 使用默认坐标系
# charView.chart().setTitleBrush(QBrush(Qt.cyan)) # 设置标题笔刷
charView.chart().setTitle("折线图标题") # 设置标题
charView.show() # 显示charView
sys.exit(app.exec_())
'''
1.QChartView : 是一个可以显示图表(chart)的独立部件。
2.QChart : 用于创建图表。
3.series : 被词典翻译为 串联;级数;系列,连续; 这里我理解为存储的一系列坐标;
4.QValueAxis : 继承自QAbstractAxis,用于对坐标轴进行操作。
流程: 坐标附加到series然后使用addSeries方法把series载入ChartView。
'''