python - 我如何使用 matplotlib 使用非数值为绘图着色?

标签 python colors plot matplotlib

我正在尝试使用 matplotlib 绘制值,并且我有几个不同类别的点要绘制。示例

Number   class     x     y 
1        wood      0.2   9.4
3        glass     7.6   4.6

我怎样才能用不同的颜色优雅地表示这些不同的类?

最佳答案

如果您有不同类别的数据,您可以使用 classes .

import matplotlib.pyplot as plt

class DataSet(object):
    def __init__(self, name, x_data, y_data, size, color):
        self.name = name
        self.x_data = x_data
        self.y_data = y_data
        self.size = size
        self.color = color

wood = DataSet('wood', [1,2,3,4], [5,7,4,1], 300, 'red')
glass = DataSet('glass', [0,2,0,4], [2,7,4,1], 100, 'blue')
paper = DataSet('paper', [1,7,3,6], [9,9,1,9], 500, '#a5a5a5')
plastic = DataSet('plastic', [3,2,5,5], [1,5,1,8], 700, 'yellow')

categories = [wood, glass, paper, plastic]
#Here we plot all the data:
for cat in categories:
    plt.scatter(cat.x_data, cat.y_data, s=cat.size , color=cat.color, label=cat.name)

plt.legend(loc='lower right', scatterpoints=1)
plt.show()

这给了我们:

enter image description here

哪个可能优雅,也可能不优雅!

关于python - 我如何使用 matplotlib 使用非数值为绘图着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10716705/

相关文章:

plot - Julia 中的条形图 : changing location of xticks

python - 两个日期时间之间的平均值;如果是 NaN,则获取最后一个非 NaN 值

python - 如何在 Python 中使用请求登录?

Java设置数组文本颜色

node.js - 如何更改 node.js 的控制台字体颜色?

r - 检测图像中的颜色

plot - 从包含由 gnuplot 生成的绘图的 PostScript 文件中提取(近似)数据

r - R 中灵活的对角线图

python - 使用pdfminer检测pdf的部分

python - 从 Pandas 的一系列线条中制作列