PlotWidget绘制3条线,并分别设置图例,修改默认图例格式

时间: 2023-05-25 12:03:53 浏览: 61
以下是如何使用PlotWidget绘制3条线,并设置图例和修改默认图例格式的示例代码: ``` python import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtGui import QFont from pyqtgraph import PlotWidget, plot import pyqtgraph as pg class MainWindow(QMainWindow): def __init__(self): super().__init__() self.init_ui() def init_ui(self): self.setWindowTitle('Plotting Example') self.setGeometry(100, 100, 800, 600) # Create PlotWidget self.plot_widget = PlotWidget(self) self.plot_widget.setGeometry(50, 50, 700, 500) # Create x and y data for the three lines x_data = list(range(10)) y_data_1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] y_data_2 = [0, 3, 6, 9, 12, 15, 18, 21, 24, 27] y_data_3 = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] # Plot the lines self.plot_widget.plot(x_data, y_data_1, pen=pg.mkPen(color='r', width=2), name='Line 1') self.plot_widget.plot(x_data, y_data_2, pen=pg.mkPen(color='g', width=2), name='Line 2') self.plot_widget.plot(x_data, y_data_3, pen=pg.mkPen(color='b', width=2), name='Line 3') # Set the plot title and axis labels self.plot_widget.setTitle('Line Plot', color='k', size='20pt', bold=True) self.plot_widget.setLabel('left', 'Y-axis', size='16pt', color='k', bold=True) self.plot_widget.setLabel('bottom', 'X-axis', size='16pt', color='k', bold=True) # Customize the legend legend = self.plot_widget.addLegend() font = QFont() font.setPointSize(12) legend.setFont(font) legend.setLabelTextColor('b') legend.setBrush('w') # Show the window self.show() if __name__ == '__main__': app = QApplication(sys.argv) main_win = MainWindow() sys.exit(app.exec_()) ``` 在上面的代码中,我们使用PyQtGraph库中的PlotWidget类来创建绘图窗口,并使用plot()方法绘制了3条线,每个线都有不同的颜色和名称。我们使用setTitle()和setLabel()方法给图表和轴设置标题和标签。 我们还通过调用addLegend()方法创建一个图例,并使用setFont()、setLabelTextColor()和setBrush()方法对其进行自定义。对于setFont()方法,我们创建了一个QFont对象并设置了字体大小;setLabelTextColor()方法将图例文本颜色设置为蓝色;setBrush()方法将图例背景设置为白色。 运行代码,会得到一个如下所示的绘图窗口: ![](https://www.learnpyqt.com/wp-content/uploads/2020/01/plotting-example-3-lines.png) 这个例子中最重要的代码是: ``` python self.plot_widget.plot(x_data, y_data_1, pen=pg.mkPen(color='r', width=2), name='Line 1') self.plot_widget.plot(x_data, y_data_2, pen=pg.mkPen(color='g', width=2), name='Line 2') self.plot_widget.plot(x_data, y_data_3, pen=pg.mkPen(color='b', width=2), name='Line 3') ``` 这里我们使用了PlotWidget类的plot()方法创建了3个线图,每个线图都使用不同的颜色和名称。第一个参数是x轴数据,第二个参数是y轴数据。pen参数用于设置线条颜色和宽度,pg.mkPen()方法可以将颜色和线宽作为参数。最后的name参数是一个字符串,表示该线的名称/标签。

相关推荐

最新推荐

recommend-type

Python实现的绘制三维双螺旋线图形功能示例

主要介绍了Python实现的绘制三维双螺旋线图形功能,结合实例形式分析了Python使用matplotlib、numpy模块进行数值运算及图形绘制相关操作技巧,需要的朋友可以参考下
recommend-type

Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例

主要介绍了Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息,结合实例形式分析了Python中matplotlib模块进行坐标系图形绘制的相关操作技巧,需要的朋友可以参考下
recommend-type

C#画笔Pen绘制光滑模式曲线的方法

主要介绍了C#画笔Pen绘制光滑模式曲线的方法,涉及C#图形绘制画笔Pen相关属性的设置技巧,需要的朋友可以参考下
recommend-type

Unity绘制二维动态曲线

主要为大家详细介绍了Unity绘制二维动态曲线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

Qt 鼠标/触屏绘制平滑曲线(支持矢量/非矢量方式)

主要介绍了Qt 鼠标/触屏绘制平滑曲线(支持矢量/非矢量方式),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用

![MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用](https://img-blog.csdnimg.cn/2020050917173284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2thbmdqaWVsZWFybmluZw==,size_16,color_FFFFFF,t_70) # 1. MATLAB取整函数概述** MATLAB取整函数是一组强大的工具,用于对数值进行
recommend-type

我想做python的算法工程师,我应该学什么?学习的顺序是什么?网上有什么推荐的免费课程吗?回答具体精确一点不要太笼统

对于想要成为 Python 算法工程师的人来说,他们应该先从掌握 Python 的基础语法开始,然后学习数据结构和算法,并且要深入了解 Python 中的一些科学计算和数据处理库,比如 NumPy、Pandas 等。 学习的顺序可以是先学习基础语法和编程技巧,然后再学习数据结构和算法相关的知识,最后深入了解数据处理和科学计算相关的库。 对于免费课程的推荐,我建议你可以先去 Coursera、edX、Udacity 等网站上寻找相关课程,这些网站上有很多优质的 Python 编程和算法课程,你可以根据自己的需求和学习进度进行选择。此外,还可以考虑一些在线编程网站,如 HackerRank、L
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。