作者ocf001497 (荣)
看板MATLAB
标题[绘图] subplot 3D figure的大小问题
时间Mon Mar 12 14:02:51 2018
Hi
小弟现在想要做一张图,这张图里面会有8个subplot
每个subplot都是用mesh(x,y,z)做出来的3D surface图案 (如下)
-------------
/ /|
------------- |
| | |
| | |<- z轴
| | |
| | |
| | |
|-----------|/ <- y轴
x轴
因为想要图做起来美观一点,想要把每一张subplot呈现出来的"立方体"
都变成"正立方体","且大小都一样"。
也就是说我希望matlab整张图片做出来之後会像这样
=====================================
----- ----- ----- -----
/ / / / / / / /
----- | ----- | ----- | ----- |
| | | | | | | | | | | |
|---|/ |---|/ |---|/ |---|/
----- ----- ----- -----
/ / / / / / / /
----- | ----- | ----- | ----- |
| | | | | | | | | | | |
|---|/ |---|/ |---|/ |---|/
=====================================
因为我之前单纯只把这8张subplot的xlim ylim zlim都设成一样之後matlab
还是会自动把有些立方体变成大小不一的长方体 (尽管xyz轴确实有按照我想
要的xlim,ylim,zlim),所以想请教各位大大怎样才能做出我想要的效果。
P.S. 我知道有axis equal但是因为我z轴尺度相比xy的小很多,如果用axis equal恐怕会
让图案整个扁掉,所以我是想在keep住自己设定的xyzlim的同时又强制让所有图的框架都
一样。
感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.112.227
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1520834574.A.522.html
1F:推 sunev: axis equal03/12 14:21
2F:→ ocf001497: 谢楼上回答 但因为我z轴的尺度比起xy差很多 用axis equ03/12 15:00
3F:→ ocf001497: al会让整个图扁掉 有没有能 想问有没有能keep住我自己03/12 15:00
4F:→ ocf001497: 设定的xyzlim但同时又强制让整个图形的框架是正立方体03/12 15:00
5F:→ ocf001497: 谢谢!03/12 15:00
※ 编辑: ocf001497 (49.217.101.236), 03/12/2018 15:02:58
6F:→ YoursEver: z座标downscale,然後在文章的caption里面说明. 03/12 15:14
谢谢您的回答 想请问一下具体是哪个指令呢? 另外我也不清楚您说的"文章的caption"
是甚麽 还请您帮我解惑一下QQ
※ 编辑: ocf001497 (140.109.112.227), 03/12/2018 17:43:03
7F:推 sunev: 我怎麽觉得原PO的要求是要画个5cm*3cm的正方形 03/13 02:57
8F:→ YoursEver: 若Z比(X,Y)的范围大100倍,画图的时候,喂 (X, Y, Z/100) 03/13 08:34
9F:→ YoursEver: 然後在写paper的时候,注明,为了美观所以normalize过Z轴 03/13 08:35
10F:→ YoursEver: 刻度,但是记得要和xlim一起使用. 03/13 08:35
11F:→ YoursEver: 再不然就是每张图单独画,单独存档,这时候会采取相同的 03/13 08:36
12F:→ YoursEver: 预设尺寸,然後再把图丢进powerpoint编排版面,再把编排 03/13 08:36
13F:→ YoursEver: 後的结果扔进小画家存档. 03/13 08:36
14F:→ YoursEver: 最後的最後则是,如果不是要写paper,管他比例一不一样, 03/13 08:37
15F:→ YoursEver: 随便show一下就好了,没有人会在意. 03/13 08:37
了解!! 谢谢你的回覆!!
※ 编辑: ocf001497 (140.109.112.227), 03/13/2018 12:37:35