刻度朝内显示使用指南¶
QwtPlot::TickDirection 控制刻度线的绘制方向,可以把刻度线画在绘图区域内部,而不是默认的轴线外侧。需要紧凑布局或特殊视觉效果时可以用它。
主要功能特性¶
刻度可以朝外(默认)或朝内显示。每个坐标轴(XBottom、XTop、YLeft、YRight)都能独立设置。朝内刻度与朝外刻度共用长度、颜色和线宽,方向可以随时切换,不必重新设置刻度样式。
基本概念¶
刻度方向说明¶
传统绘图中,坐标轴刻度线从轴线向外延伸(朝外显示)。刻度朝内功能则将刻度线从画布边缘向内延伸,实现不同的视觉效果。
1 2 3 4 5 6 7 8 9 10 11 12 | |
TickDirection 枚举¶
| 枚举值 | 说明 |
|---|---|
QwtPlot::TickOutside |
刻度朝外(默认行为) |
QwtPlot::TickInside |
刻度朝内,从画布边缘向内延伸 |
使用方法¶
刻度朝内显示的例子位于:examples/2D/ticks_inside,例子截图如下:

1. 基本使用¶
设置单个坐标轴的刻度方向:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
2. 查询当前设置¶
获取坐标轴当前的刻度方向:
1 2 3 4 5 6 7 8 | |
3. 恢复默认设置¶
将刻度方向恢复为默认的朝外显示:
1 2 3 4 5 6 | |
4. 批量设置所有轴¶
同时设置多个坐标轴的刻度方向:
1 2 3 4 5 6 7 | |
核心方法¶
| 方法 | 参数 | 说明 |
|---|---|---|
setAxisTickDirection(axisId, direction) |
QwtAxisId, TickDirection | 设置指定轴的刻度方向 |
axisTickDirection(axisId) |
QwtAxisId | 获取指定轴的刻度方向 |
注意事项¶
信息 — 样式继承
朝内刻度线自动继承朝外刻度的样式设置,包括:
- 刻度长度(通过QwtScaleDraw::setTickLength()设置)
- 线宽(通过QwtScaleDraw::setPenWidthF()设置)
- 颜色(通过QwtScaleWidget::setScaleColor()设置)警告 — 刷新时机
调用
setAxisTickDirection()后会自动触发autoRefresh(),在autoReplot开启时会自动刷新。如需立即刷新,可调用replot()。提示 — 配合寄生轴使用
刻度朝内功能可与寄生轴(Parasite Plot)配合使用,每个寄生绘图可独立设置刻度方向。
与 QwtPlotScaleItem 的区别¶
| 特性 | TickDirection | QwtPlotScaleItem |
|---|---|---|
| 目的 | 控制主轴刻度方向 | 在画布内添加额外的坐标轴 |
| 刻度样式 | 继承主轴样式 | 可独立设置样式 |
| 显示位置 | 替换/改变主轴刻度 | 作为独立图层叠加 |
| 适用场景 | 需要紧凑布局或特殊效果 | 需要在画布内显示参考刻度 |
示例 — 示例代码
完整示例位于:
examples/2D/ticks_inside/该示例展示了:
- 四个坐标轴独立控制
- 实时切换刻度方向
- 批量设置功能