matlab的一个bug

    因为作图需要,我要用matlab写出带描边的字。之前发微博求助,兔子给了个思路——往上下左右各平移一点(例如一像素)铺底色、再在中心写正文,一个路过的高手转发了别人写的一个函数,名叫textborder,思路跟兔子给的是一样的。我下载这代码之后,测试了一下,很漂亮。然后我拿来画自己的图,却不知为什么只有加粗的border_color的本应垫底的字(下文称border),却没有text_color的主体(下文称text)。

    然后苦苦测试了两小时,大概试了三十种改法。最后得出的结论是——matlab有bug。(前提可能是像我这种被缩放过的图,即以像素为单位和以数据为单位的坐标轴刻度比不一致,)只要把句柄中position的units属性改成像素,铺完border后再铺text的话,text就显示不出来了。即先写的border在最顶层,后面写的text反而在底层。而units的单位是默认的data的时候,则没有这个问题,即后写的text覆盖在之前写的border之上,但是data的比例和像素比例不一致时画出来是变形的,不好看。除此之外units还有别的选项,没心情去一一测试了。

    最后终于发现了解决方法:铺完border后,再铺text,这时text是不显示的。但是这时用句柄把text的position移一下,它就神奇地出现了!所以,只要先把text往任意地方移一下,再移回原位,就解决了。

    不过没什么解决了问题的愉快感,只是郁闷这个坑爹的bug害我浪费了两个多小时,并且导致我之前卡壳。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,285评论 0 8
  • 深入理解傅里叶变换Mar 12, 2017 这原本是我在知乎上对傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进...
    价值趋势技术派阅读 11,074评论 2 2
  • 显示中文帮助的方法 预设→常规→帮助→在mathworks.com网站上(需要Internet连接)→语言(简体中...
    VeyronC阅读 7,229评论 0 34
  • 春分已过, 这个时节最美的境遇, 是和你坐在温暖阳光里, 人来人往都不用在意, 因为我眼中,只能看见你。
    白茶清欢心依旧阅读 548评论 0 0