【发布时间】:2015-01-23 00:00:57
【问题描述】:
我不确定分箱是否是正确的术语,但我想为我正在从事的项目实施以下内容:
我有一个数组或者一个描述边界和/或区域的字典,例如:
boundaries = OrderedDict([(10,'red'),(20,'blue'),(55,'purple')])
这些区域的索引从 0 到 100(例如)。我想将每个区域分类为一种颜色(小于字典中的键)然后绘制它。比如小于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 函数已经完成了我正在尝试做的事情?如果代码又短又快,那就太好了。这不是为了任何形式的任务(这是为了我的一个小实验/数据项目),所以我不想在这里重新发明轮子。
【问题讨论】:
-
这不是您要问的,但您正在使用常规字典定义
OrderedDict,因此不一定会保留顺序。相反,使用元组列表定义它:OrderedDict([(10, "red"), (20, "blue"), (55, "purple")]) -
感谢并更正。
标签: python numpy matplotlib plot scipy