0
내 문제는 다음과 같습니다. 코드에서 아래에 표시된 것과 같은 3D 표면 플롯을 얻으려는 테이블이 있지만 x 및 y 단위는 약간의 "재 매핑"이 필요합니다. 즉, [0,1, ...]은 [ "사과", "오렌지"등이되어야합니다.matplotlib 축을 표면 플롯에서 "문자열"변수로 매핑하십시오.
이것은 시각적 인 목적으로 나에게 매우 중요합니다 ("표면"기능을 잃어 버리기 때문에 나는 일종의 차트로 전환 할 수 없습니다).
아래 코드에서 table
은 2D 배열의 "SQL like"표현과 출력 값 (거의 모든 matplolib 사례 연구에서 보여짐)을 더한 pandas Dataframe
입니다.
####################################################
position time_digitized value
0 0 0 0.636
1 0 3 0.323
2 0 1 0.783
3 0 2 0.494
4 0 4 0.452
5 0 7 0.212
6 0 5 0.465
7 0 6 0.334
8 0 8 0.182
9 0 11 0.256
10 0 9 0.244
####################################################
from mpl_toolkits.mplot3d.axes3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
fig = plt.figure()
ax = Axes3D(fig)
surf = ax.plot_trisurf(
table.loc[:, 'position'],
table.loc[:, 'time_digitized'],
table.loc[:, 'value'],
cmap=cm.ocean,
linewidth=0.1)
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
그 트릭을! – Asher11