ax.scatter散点图的颜色
时间: 2024-11-30 17:18:45 浏览: 28
在Matplotlib库中,`ax.scatter()`函数用于创建散点图。如果你想要控制散点的颜色,可以通过设置`c`(color)参数来指定。`c`参数接受多种类型的数据:
1. **单个颜色**: 如果颜色是单一的颜色,如字符串('red')、RGB tuple((1, 0, 0))、HTML颜色名称('#FF0000')或浮点数(对应于HSV颜色空间),那么所有点将使用该颜色。
2. **列表或数组**: 如果提供的是一个列表或数组,长度应等于点的数目,每个元素对应一个点的颜色。例如,`c=[‘r’, ‘g’, ‘b’]` 或 `c=np.random.rand(len(x), len(y))`,其中x和y分别是点的坐标。
3. **颜色映射**: 你可以通过传递matplotlib的颜色映射名称(如'magma'、'viridis'等)来自动为点分配颜色,或者使用` ListedColormap`或`LinearSegmentedColormap`实例。例如,`cmap=plt.cm.Blues`。
4. **分类信息**: 如果你的数据有类别信息,可以传入分类数组或标签,然后使用`cmap`配合`scatter`的`c`和`s`参数,以便根据类别分别着色。比如,`c=data['category'], cmap='viridis', s=data['size'] * 100`。
以下是基本的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(100)
y = np.random.randn(100)
colors = np.random.rand(100)
fig, ax = plt.subplots()
ax.scatter(x, y, c=colors, cmap='viridis')
plt.show()
```
在这个例子中,散点的颜色会由`colors`数组中的随机浮点数确定,并使用`viridis`颜色映射显示。
阅读全文