python - matplotlib scatterplot 在分类列上获取标记
问题描述
我正在尝试使用 matplotlib 绘制散点图:我正在使用下面的代码来绘制多个特征
columns = df_filtered.columns
font = {'family' : 'normal',
'weight' : 'bold',
'size' : 8}
color_map={0:'b',1:'r',2:'g',3:'c',4:'y',5:'m',6:'k',7:'grey',8:'tan',9:'orange',10:'seagreen',11:'royalblue',12:'darkgrey',13:'teal'}
label_color=[color_map[l] for l in df_filtered['test_label']]
marker_map = {12:'o',15:'*'}
label_marker = [marker_map[i] for i in df_filtered['DOE-id']]
for column in columns:
print(column)
plt.figure(figsize=(15,7))
plt.scatter(df_filtered['Time'],df_filtered[column],c=label_color,marker=label_marker)
plt.tight_layout()
plt.ylabel(column,fontsize=20)
plt.title(column,fontsize=8)
plt.rc('font', **font)
plt.savefig(str(column)+'.png',bbox_inches="tight")
plt.show()
但我得到了错误: -
ValueError: Unrecognized marker style ['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', 'o', 'o', 'o', 'o', 'o', 'o', '*', 'o', 'o', 'o',, ...... etc..
我想使用“test_label”列为散点着色,并使用“DOE-id”列为散点获取不同的形状。我认为我用来标记散点的方法是错误的。
关于如何得到这个的任何想法?
解决方案
推荐阅读
- php - 使用 where 子句选择单行时,表的大小是否会影响速度
- flutter - 使用 AnimatedListView 使提供者的列表保持最新
- sql - 基于 1 个表中的 3 列的 case 语句
- python - 如何在 Python 中查找另一个表中的值
- android - 迭代协程并等待结果
- c# - 获取客户端的 IP 地址
- google-chrome - 使用 chrome 无头选项打印到 pdf 的其他选项
- wolfram-mathematica - 如何“扩展”/更改 Normal PDF 和 CDF 的导数形式?
- python - Pandas-如何拆分和合并名称相似的列?
- powershell - 如何使用 Chocolatey 将软件安装到远程计算机?