作者znmkhxrw (QQ)
看板Python
标题[问题] matplotlib 3d移动spines到中心点
时间Fri Apr 20 04:13:11 2018
如题,以2d的case来说,就像这样
https://i.stack.imgur.com/i60zW.png
但是这是用 ax.spines.set_position来的,这语法仅适用於2d
而在这篇
https://goo.gl/wobtrr 中有人给出一个移动spine的方法
ax.xaxis._axinfo['juggled'] = (a,b,c)
(a,b,c)对应位置如右
https://i.stack.imgur.com/N5YQV.png
但是....没有一个位置是中心点
有没有什麽办法可以让matplotlib 3d的三个spines直接贯穿(0,0,0)且垂直呢?
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.68.160.241
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1524168794.A.E81.html
1F:→ gmccntzx1: 你似乎是误会了@QGent的意思... 你贴的最後一张图中6组 04/20 11:21
2F:→ gmccntzx1: 数字分别指的是图中6个outer boundary的参数. 当你要把 04/20 11:22
3F:→ gmccntzx1: xaxis或其他axis移动到上述6个边界的其中一个时,就去更 04/20 11:23
4F:→ gmccntzx1: 改ax.`[x/y/z]axis`._axinfo['juggled'] 04/20 11:24
6F:→ gmccntzx1: 左下的axis原为(1,0,2),改成(2,0,1)後,跑到右上 04/20 11:27
8F:→ gmccntzx1: 然後目前matplotlib应该是无法直接实现你要的功能,但你 04/20 11:29
9F:→ znmkhxrw: ??? 我意思就是他给那些参数只是让axis在边上跑 04/20 11:30
10F:→ gmccntzx1: 如果一定要有这样的表现方式,乾脆直接在空间中画出那3 04/20 11:30
11F:→ gmccntzx1: 轴 04/20 11:30
12F:→ znmkhxrw: 怎样都跑不来中间QQ 04/20 11:30
13F:→ znmkhxrw: 喔喔 你说直接造三条线 & 取消原本三轴 04/20 11:31
14F:→ gmccntzx1: 对,因为那只能让使用者改要highlight哪个outer boundar 04/20 11:31
15F:→ gmccntzx1: 对. 因为我猜你应该只是希望图呈现出来的是长那样. 04/20 11:32
16F:→ znmkhxrw: 这我做得到! 谢拉! 04/20 11:32
17F:→ gmccntzx1: 只是画那三条线後, x,y,z轴的tick要再想办法... 04/20 11:33
18F:→ znmkhxrw: 我想用matplot仿造tensorboard画embedding的方式 04/20 11:33
19F:→ znmkhxrw: g大你说的tick 只要ax.axis("off") 三条全杀XDDD 04/20 11:35
20F:→ znmkhxrw: 我最初就是杀grid 想要移axis 就莫名其妙学到杀axis 04/20 11:36
21F:推 gmccntzx1: 我是指另外画出的x,y,z轴的tick Q_Q 04/20 11:37
22F:→ znmkhxrw: ......完了 感觉很麻烦 先算了QQ 谢谢 04/20 11:38
23F:→ gmccntzx1: 是啊... 所以先将就一下... 加油 04/20 11:39
24F:→ znmkhxrw: thank you~^^ 04/20 12:08
25F:推 wtleader01: 我有想到一个可能解法,就是 04/21 05:01
26F:→ znmkhxrw: 你下面没有了?? 04/21 17:19
27F:→ uranusjr: 推文的空间太小写不下 04/21 18:10
28F:推 s860134: Python费马 04/21 21:07