【发布时间】:2016-09-30 05:22:34
【问题描述】:
我有一个非常基本的自定义箱线图功能:
function myboxplot(LPercentile, Median, RPercentile, Height, LineWidth, BoxHeight, MarkerColour, MarkerSize)
hold on
plot([LPercentile, RPercentile], [Height, Height], 'linewidth', LineWidth, 'color', 'k', 'linestyle', '-');
plot([LPercentile, LPercentile], [Height - BoxHeight/2, Height + BoxHeight/2], 'linewidth', LineWidth, 'color', 'k', 'linestyle', '-');
plot([RPercentile, RPercentile], [Height - BoxHeight/2, Height + BoxHeight/2], 'linewidth', LineWidth, 'color', 'k', 'linestyle', '-');
plot(Median, Height, 'marker', 'o', 'markersize', MarkerSize, 'markeredgecolor', 'k', 'markerfacecolor', MarkerColour);
hold off
end
当我按预期使用它时,
>> myboxplot(1,2,3,1,3,1,'g',20); hold on
>> myboxplot(2,3,5,3,3,1,'r',20); hold off
>> axis([0,6,0,4]);
它会在我的 octave 会话中产生预期的结果:
但是当我尝试保存到文件时:
>> saveas(gcf,'out.pdf','pdf');
惨败:
无论输出格式如何(至少在 pdf 和 png 之间),都会发生这种情况。
这是一个错误吗?是否有使线条可见的解决方法?
(注:我在matlab中也试过这段代码,matlab按预期保存文件)
(使用: GNU Octave 版本:4.0.3 GNU Octave 许可证:GNU 通用公共许可证 操作系统:Linux 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64)
更新: Windows 上的 Octave 4.0.3 产生正确的输出,所以这绝对是 linux 上的一个 "bug" 错误。我将在 octave 跟踪器上提交一个错误,但如果有人在此期间知道任何解决方法,我将非常感激。
【问题讨论】:
-
谢谢,安迪!我假设因为它适用于我的 Windows 安装,它可能与 linux 上的一个库有关。也许与openGL相关。 'fltk' 给了我同样的问题。 'gnuplot' 工具包有效(但它不尊重我的手动放置,它看起来不太好)。我也会在我的笔记本电脑上测试它,它有不同的 linux 发行版,看看我得到了什么......
-
Mint 18 没有变化(= ubuntu 16.04)
-
所以看起来这个错误已经默认修复了。您可以在 GNU/Linux 上试用 4.2 候选版本 2 吗?顺便说一句,如果您想调试绘图问题,请使用“eps”作为输出,因为它是用于 OpenGL 工具包的中间格式。
-
刚刚安装了 4.2.0-rc2 标记的版本,问题仍然存在。 (虽然 rc2 看起来很不错 :) )然后我会在跟踪器上提交一个错误。谢谢,安迪。 (PS 我在追踪器的基本搜索中没有发现类似的错误......)
-
以bug #49225提交
标签: octave