博主近期被导师安排项目,需要在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()
希望能够帮助到大家。