我根据数据中的条件制作了一个使用两个不同符号的散点图。 在迭代遍历数据行的for循环中,如果满足条件,则用圆绘制点,如果不满足,则用正方形绘制点:
for i in thick.index:
if thick['Interest'][i] == 1:
plt.scatter(thick['NiThickness'][i], thick['GdThickness'][i], marker = 'o', color = 'b')
else:
plt.scatter(thick['NiThickness'][i], thick['GdThickness'][i], marker = 's', color = 'r')
其中'兴趣'是一个用0和0填充的列(零?)。
我希望圈子的图例中有一个标签,广场上有一个标签,但如果我在label = 'circle'
命令中声明plt.scatter(...)
,我会在我的数据文件中有行的图例。
我有一个简单的伎俩吗?
感谢。
答案 0 :(得分:1)
这是我在这种情况下使用的模式:
label_o = 'Circle'
label_s = 'Square'
for i in thick.index:
if thick['Interest'][i] == 1:
plt.scatter(thick['NiThickness'][i], thick['GdThickness'][i], marker=o', color='b', label=label_o)
label_o = None
else:
plt.scatter(thick['NiThickness'][i], thick['GdThickness'][i], marker='s', color='r', label=label_s)
label_s = None
这也很好地处理了只有一个类别存在的情况。
答案 1 :(得分:1)
如果thick
是数据框:
idx = thick['Interest'] == 1
ax = plt.subplot(111)
ax.scatter(thick['NiThickness'][idx], thick['GdThickness'][idx],
marker='o', color='b', label='circle')
ax.scatter(thick['NiThickness'][~idx], thick['GdThickness'][~idx],
marker='s', color='r', label='square')