【发布时间】:2020-02-04 03:25:23
【问题描述】:
我有一个数据框df 有 5 列 f1,f2,f3,f4,y,其中所有列中的所有值都来自有限的整数集,实际上,所有列都是分类列,转换为整数.我想做的是画一个3d散点图,以f1,f2,f3为轴,标记样式应该由f4决定,最后颜色应该由y列决定。
以下代码处理轴和颜色。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig =plt.figure(figsize=(20,16)).gca(projection='3d')
fig.scatter(df['f1'], df['f2'], df['f3'], c=df['y'], s=100)
plt.show()
但我不确定如何根据 f4 列获取标记样式。受到post 的远程启发,我可能会定义一个可能的标记列表:
marker_styles = ['.','o','v','^','>','<','s','p','*','h','H','D','d','1']
然后我会根据 f4 对我的数据进行分组。对于每个组,我将使用下一个标记,如果组多于标记,则旋转回 marker_styles 列表的开头。
我不确定如何执行这个想法,或者是否有更好的选择。
【问题讨论】:
标签: python matplotlib seaborn