Pyside实现炫酷波形图界面

       博主近期被导师安排项目,需要在Pyside里面插入一个页面进行波形计算的展示需要将波形页面制作的好看一些,但是寻找了优快云上面的资源发现大部分都是教大家怎么基础的使用Pyside里面插入plt的界面没有如何进行制作的好看的文章,于是本博主打算开源一下自己做的页面方便大家能够快出的做出炫酷的波形页面。

以下是效果展示。

以下是代码

1.在Pyside中创建画布随后进行注册

        # 单次添加画布到布局
        self.figure = Figure(figsize=(10, 6))
        self.figure.set_facecolor('#1a1a1a')  # 设置画布背景色为深灰色
        self.canvas = FigureCanvas(self.figure)
        # 创建坐标系对象并持久化
        self.ax = self.figure.add_subplot(111)
        self.ax.set_facecolor('#1a1a1a')  # 设置坐标轴背景色为深灰色
        self.ax.axis('off')

        # 单次添加画布到布局
        if not self.ui.DateSignal.layout():
            self.ui.DateSignal.setLayout(QVBoxLayout())
        self.ui.DateSignal.layout().addWidget(self.canvas)

2.波形图代码

              # 生成x轴数据,范围从0到2π,共1000个点
            x = np.linspace(0, 2 * np.pi, 1000)
            # 计算对应的正弦值
            sin_x = np.sin(x)
            self.canvas.setStyleSheet("background-color: #1a1a1a;")
            # 绘图代码
            line, = self.ax.plot( x, sin_x,
                                 color='#2BFEB2',  # 荧光绿
                                 linewidth=1.0,
                                 label='sin(x)')


            #x轴和y轴标签
            self.ax.set(
                xlabel='x',
                ylabel='sin(x)',
                title=f'sin(x)变化曲线',
                facecolor='#1a1a1a'  # 更深背景
            )

            # 坐标轴颜色配置
            self.ax.spines['bottom'].set_color('#4d4d4d')
            self.ax.spines['top'].set_color('#4d4d4d')
            self.ax.spines['right'].set_color('#4d4d4d')
            self.ax.spines['left'].set_color('#4d4d4d')

            # 刻度标签颜色
            self.ax.tick_params(axis='x', colors='#cccccc')
            self.ax.tick_params(axis='y', colors='#cccccc')

            # 网格线配置
            self.ax.grid(True,
                         linestyle=':',
                         linewidth=1.2,
                         alpha=0.6,
                         color='#595959')

            # 图例配置
            legend = self.ax.legend(
                loc='upper right',
                frameon=True,
                facecolor='#333333',  # 深灰背景
                edgecolor='#666666',  # 边框颜色
                labelcolor='#ffffff',  # 文字颜色
                fontsize=12
            )

            # 标题颜色设置
            title = self.ax.title
            title.set_color('#ffffff')

            # 坐标标签颜色设置
            self.ax.xaxis.label.set_color('#cccccc')
            self.ax.yaxis.label.set_color('#cccccc')

            #更新画布
            self.canvas.draw_idle()

希望能够帮助到大家。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值