3d scatterplot в питоне для кратных одного параметра - PullRequest
0 голосов
/ 15 декабря 2018

Я рассчитываю построить 3 переменные с 4-й, показанной закрашиванием точек.Я нахожу изображения, но нет примеров для набора данных.

Я использую набор данных из https://www.kaggle.com/uciml/forest-cover-type-dataset

Я попытался следующий код безуспешно.

мои манипуляции с набором данных 'cover'

wild_areas=cover.groupby(['Wilderness_Area'], axis=0)#.count()

from pandas import DataFrame

словарь заполненного дерева

wild_area_dict={}
wild_area_cover_dict = {}
wild_area_cover_wocount_dict = {}
wild_area_tree_names = {}
for area in wild_areas:

cover_groups=area[1].groupby(['Cover_Type'])

wild_area_cover_dict[area[0]]=\
cover_groups['Cover_Type'].count()
cover_dfs=[]
for cover_group in cover_groups:
    cover_dfs.append(cover_group[1])
wild_area_cover_wocount_dict[area[0]]=cover_dfs

wild_area_dict[area[0]]=area[1]
area_trees=wild_area_cover_dict[area[0]]
print(wild_dict[area[0]])
print(area_trees)  #cover_type # and sum of cover_type

tree_ids=list(area_trees.index) # [1,2,5,7]

tree_names=[]
for tree in tree_ids:
    tree_names.append(trees_dict[tree])
wild_area_tree_names[area[0]]=tree_names    
freq=list(area_trees) 

область трехмерного графика

wild_area4 = wild_area_dict[4].reset_index()

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')



x=wild_area4[['Aspect']]
t=wild_area4[['Elevation']]
z=wild_area4[['Horizontal_Distance_To_Hydrology']]
v=wild_area4[['Cover_Type']]  # I want this to be the dots
cmhot = plt.get_cmap("hot")

ax.scatter(x,y,z, v, c=np.abs(v),s=50,  cmap=cmhot)

ax.set_xlabel('Aspect')
ax.set_ylabel('Elevation')
ax.set_zlabel('Horizontal Distance to Hydrology')


ax.legend(fontsize='small')

plt.show()
...