我想表示一个点的数据集,每个点都有一个x和y坐标以及一个个位数的值,每个值都应该用一种特定的颜色表示。我设法做的是创建这样的东西,看起来很不错:
# x, y and digits are one-dimensional np.arrays of the same shape
plt.scatter(x, y, marker='o', c=digits)
#random colormap
plt.viridis()
现在我想表示数字本身,而不仅仅是彩色的点。据我所知,marker-argument不能是一个数组,所以我决定这样做:
for i in range(len(digits)):
plt.scatter(x[i], y[i], c=digits[i], marker=('${}$'.format(digits[i])))
这几乎做到了,但'c=digits[i]'似乎不起作用,因为数字实际上并没有编码任何特定的颜色。我认为(如果我错了,请纠正我)第一段代码可以工作,因为python不知何故自动理解了c=digits并不是指任何实际的颜色,而是想区分两个点。
所以问题是:在第二种情况下,我可以做的最简单的事情是什么,以指示数字的颜色,而不是直接说明它们,而是使用默认的色彩Map表?(理想情况下,我希望得到与第一个代码相同的东西,但使用数字而不是点)
1条答案
按热度按时间wlp8pajw1#
看来我已经找到了解决办法,所以以防某人有类似的问题:
一些“解释”:- cm是神知道什么原因需要的对象;
不管有什么抱怨,都能按预期工作,所以足够好了。