QChart多个图布局使坐标轴对齐的方法

简介: QChart多个图布局使坐标轴对齐的方法

QChart多个图布局使坐标轴对齐的方法


总体思路


Qt的QChart中并没有提供改变坐标原点位置的接口,因此无法简单的移动坐标原点。但是在多个图表需要在多个View中布局,同时显示多个数据进行对比,而坐标的单位和值会导致原点无法对齐严重影响美观和可视化问题。


虽然无法直接修改坐标原点位置,但是还是有办法保证布局中原点对齐,这里以两个水平分割的图表布局举例,主要思路如下:

1. 截取resizeEvent事件.
2. 获取两个QChartView中的QChart的Margins值和ploatArea的宽度.
3. 计算两个ploatArea的宽度差.
4. 在resizeEvent事件中通过设置Margins来使的两个QChart的左边margins相等就可以达到Y轴对齐了.
5. 同理可以调整X轴.


主要代码


margin_k = self.k_view.chart().margins()
margin_v = self.v_view.chart().margins()
width_k = self.k_view.chart().plotArea().width()
width_v = self.v_view.chart().plotArea().width()
sub = width_k - width_v
if sub > 0:
    self.k_view.chart().setMargins(QMargins(margin_k.left() + sub, margin_k.top(),
                                margin_k.right(), margin_k.bottom()))
else:
    self.v_view.chart().setMargins(QMargins(margin_v.left() - sub, margin_v.top(),
                                margin_v.right(), margin_v.bottom()))


效果预览

相关文章
|
12天前
|
UED
使用约束布局实现居中对齐效果
【10月更文挑战第24天】我们可以看到使用约束布局实现居中对齐并不是一件难事。只要掌握了基本的方法和技巧,结合具体的场景进行灵活运用,就能轻松地实现各种居中对齐效果。在实际开发中,要不断实践和总结经验,以便更好地发挥约束布局的优势,为用户带来更优质的界面体验。
17 1
|
5月前
|
前端开发
canvas文字绘制(大小、粗体、倾斜、对齐、基线)
canvas文字绘制(大小、粗体、倾斜、对齐、基线)
|
计算机视觉
Qt实用技巧:图形视图框架中图元将矩形边界改为不规则边界(用于选取和碰撞)
Qt实用技巧:图形视图框架中图元将矩形边界改为不规则边界(用于选取和碰撞)
Qt实用技巧:图形视图框架中图元将矩形边界改为不规则边界(用于选取和碰撞)
案例03 补充:金字塔等图形边框的绘制
案例03 补充:金字塔等图形边框的绘制
254 0
案例03 补充:金字塔等图形边框的绘制
在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。
编写Java程序:在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。
|
大数据 开发者 Windows
R 图形的次要刻度线、参考线、图例和文本标注 | 学习笔记
快速学习 R 图形的次要刻度线、参考线、图例和文本标注
207 0
|
大数据 开发者
R 图形的文本属性、尺寸、标题和自定义坐标轴| 学习笔记
快速学习 R 图形的文本属性、尺寸、标题和自定义坐标轴
319 0