簡體   English   中英

如何在matplotlib中禁用軸標簽中的自動交換?

[英]How to disable auto-swapping in axes labels in matplotlib?

我在Python中使用matplotlib繪制了3D圖形。 旋轉圖形時,我注意到軸標簽會自動交換,這看起來並不有趣或對我沒有幫助。 實際上,這干擾了我對旋轉目的的關注,即以視覺方式瀏覽呈現的數據。

問:如何在matplotlib中旋轉時禁用自動交換軸標簽?

我從SO中汲取了一些想法,研究了許多想法,最后開發出以下解決方案。 它只是有效。


from __future__ import division
import scipy as sp
import mpl_toolkits.mplot3d as a3d
import pylab as pl

nan = sp.nan

def axesoff():
    box = [[-1,1,1,-1,-1,1,1,-1,-1,-1,nan,1,1,nan,1,1,nan,-1,-1],
           [-1,-1,-1,-1,1,1,1,1,-1,-1,nan,-1,1,nan,1,-1,nan,1,1],
           [-1,-1,1,1,1,1,-1,-1,-1,1,nan,-1,-1,nan,1,1,nan,-1,1]]
    ax3.plot(*box,color='k')
    for axis in (ax3.w_xaxis,ax3.w_yaxis,ax3.w_zaxis):
        for obj in axis.get_ticklines(): obj.set_visible(False)
        axis.set_ticklabels('')
        axis.line.set_visible(False)
        axis.pane.set_visible(False)
    ax3.grid(False)
    ax3.axis('equal')

#------here we go
x,y,z = sp.random.uniform(low=-1,high=1,size=(3,1000))
c = (x+1)+(y+1)+(z+1)
s = c*10
ax3 = a3d.Axes3D(pl.figure())
ax3.scatter(x,y,z,lw=0,s=s,c=c,alpha=0.5)

axesoff()

pl.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM