python - 如何在 Python 中对数字进行分类和分类?

标签 python numpy matplotlib plot scipy

我不确定装箱是否是正确的术语,但我想为我正在从事的项目实现以下内容:

我有一个数组或者一个描述边界和/或区域的字典,例如:

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/

相关文章:

python - 在 Python 中正确计算向量场的散度

python - 更改 facecolor "alpha"值会产生不需要的边缘(matplotlib pcolormesh)

python - 如何在 matplotlib 中绘制内联线标签?

python - django spotify api python http发布500错误

python - 找到所有可逆方阵

python-3.x - 日期时间、 Pandas 和时区问题 : AttributeError: 'datetime.timezone' object has no attribute '_utcoffset'

python - 如何创建颜色和标记的图例?

python - 使用 reduce 时对象没有属性(但在 map 上有效)

python - 从 Raspberry pi 发送串行通信

python - matplotlib,如何在给定条件下绘制 3d 2 变量函数