我不确定装箱是否是正确的术语,但我想为我正在从事的项目实现以下内容:
我有一个数组或者一个描述边界和/或区域的字典,例如:
boundaries = OrderedDict([(10,'red'),(20,'blue'),(55,'purple')])
区域的索引从 0 到 100(例如)。我想将每个区域分类为一种颜色(小于dict中的键)然后绘制它。例如,如果小于 10,则为红色。
到目前为止,我有:
boundaries = OrderedDict([(10,'red'),(20,'blue'),(55,'purple')])
areas = range(0,101)
binned = []
for area in areas:
for border in boundaries.keys():
if area < border:
binned.append(boundaries[border])
break
另外,我需要找出一种方法来定义颜色并找到一个包来绘制它。因此,如果您有任何想法,我该如何绘制二维彩色图(实际项目将是二维的)。也许是 matplotlib 或 PIL?我以前使用过 matplotlib,但从未使用过这种类型的数据。
此外,是否有一个 scipy/numpy 函数已经完成了我正在尝试做的事情?如果代码又短又快就好了。这不是为了任何类型的作业(它是为了我的一个小实验/数据项目),所以我不想在这里重新发明轮子。
最佳答案
import matplotlib.pyplot as plt
boundaries = collections.OrderedDict([(10,'red'),(20,'blue'),(55,'purple')])
areas = range(0,101)
n, bins, patches = plt.hist(areas, [0]+list(boundaries), histtype='bar', rwidth=1.0)
for (patch,color) in zip(patches,boundaries.values()):
patch.set_color(color)
plt.show()
关于python - 如何在 Python 中对数字进行分类和分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118990/