2012-11-30 41 views
1

有一個known bug尚未在matplotlib中修復。matplotlib在3D中反轉y軸會丟失標籤。需要解決此已知錯誤的解決方法

考慮這段代碼片段。通過反轉y軸,刻度消失並且z軸上的填充改變。

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 

ax.set_xlim3d(0,1) 
ax.set_ylim3d(0,1) 
ax.set_ylim3d(1,0) 
plt.show() 

是否有人在此期間解決類似的問題?

謝謝!

回答

0

也許你可以把你的數據爲[0,1]區間(或[yourmin,yourmax]其中yourmin < yourmax),然後就改變軸刻度標籤:


import matplotlib.pyplot as plt 
    from mpl_toolkits.mplot3d import Axes3D 
    import numpy as np 

    fig = plt.figure() 
    ax = fig.add_subplot(111, projection='3d') 

    ax.set_xlim3d(0,1) 
    ax.set_ylim3d(0,1) 
    # setting ticks positions 
    ax.set_xticks(np.arange(0,1.1,0.2)) 
    ax.set_yticks(np.arange(0,1.1,0.2)) 
    # setting ticks labels 
    ax.set_xticklabels(np.arange(1, -.1,-.2,).round(1)) 
    ax.set_yticklabels(np.arange(1, -.1,-.2,).round(1)) 

    plt.show()