이 3D bar graph sample code이 주어지면 x 축의 숫자 데이터를 형식이 지정된 날짜/시간 문자열로 변환하는 방법은 무엇입니까? 나는 성공없이 ax.xaxis_date() 함수를 사용하려고 시도했다. 나는 또한 3D 막대 그래프에 대해 작동하지 않는 plot_date()를 사용하여 시도했다. 다음은 샘플 코드의 수정 된 버전은 내가 뭘하려고 오전 설명하는 것입니다Matplotlib : 3D 막대 그래프에서 x 축의 날짜 서식 지정
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.dates as dates
dates = [dates.date2num(datetime.datetime(2009,3,12)),
dates.date2num(datetime.datetime(2009,6,9)),
dates.date2num(datetime.datetime(2010,1,1)),
#etc...
]
fig = plt.figure()
ax = Axes3D(fig)
for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
xs = np.array(dates)
ys = np.random.rand(20)
ax.bar(xs, ys, zs=z, zdir='y', color=c, alpha=0.8)
ax.set_xlabel('Date & Time')
ax.set_ylabel('Series')
ax.set_zlabel('Amount')
plt.show()
alt text http://matplotlib.sourceforge.net/_images/bars3d_demo1.png
난 그냥 코드를 시도하고 내 셋업에 오히려 잘 (날짜와 X의 값이 일치)를 꾸몄다. Python 2.6.4와 최신 matplotlib (0.99.1 버전)을 사용하고 있습니다. 파이썬 패키지를 업데이트해야합니까? –
xticks를 숫자 대신 문자열로 사용 하시겠습니까? – Mark
예 또는 모든 문자열을 미리 생성하지 않고 동적으로 틱을 형식화하기 위해 함수 이름을 전달하는 옵션. – pokstad