m0_58500263 2023-04-11 10:44 采纳率: 0%
浏览 74
已结题

addAxis(QCPAxis::atLeft);

QCPAxis::addAxis添加的纵坐标轴setoffset()不能平移,想同时显示三条y轴,setoffset的偏移量如何得出,我想偏移y轴的一半长度

  • 写回答

7条回答 默认 最新

  • 语言-逆行者 2023-04-11 10:57
    关注

    基于new Bing的回答:
    QCPAxis::addAxis() 函数添加的纵坐标轴是一个独立的轴对象,可以通过调用 setOffset() 函数设置轴的偏移量,但是该函数不能用于平移轴。

    如果需要平移轴,可以通过调整 QCustomPlot 对象中的坐标轴范围来实现。可以使用以下函数:

    • QCPAxis::setRange():设置轴的范围。

    • QCustomPlot::axisRect():获取绘图区域对象。

    • QCPAxisRect::axis(QCPAxis::AxisType type):获取指定类型的轴对象。

    • QCPAxis::range():获取轴的范围。
      例如,以下代码将 y 轴向右平移 50 个像素:

    QCPAxis *yAxis = plot->yAxis;
    QCPAxisRect *axisRect = plot->axisRect();
    double range = yAxis->range().size();
    yAxis->setRange(0, range);
    axisRect->setMargins(QMargins(50, 0, 0, 0));
    
    

    首先获取 y 轴对象和绘图区域对象,然后获取 y 轴的范围。接下来将 y 轴的范围设置为从 0 开始,这样 y 轴的原点就移动到了绘图区域的左边界。最后调用 setMargins() 函数将绘图区域的左边距设置为 50 个像素,这样 y 轴就向右平移了 50 个像素。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月13日
  • 修改了问题 4月12日
  • 修改了问题 4月11日
  • 赞助了问题酬金15元 4月11日
  • 展开全部

悬赏问题

  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色
  • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
  • ¥15 字符串比较代码的漏洞
  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?