matplotlib 散点图 颜色映射大小
时间: 2023-10-10 17:09:43 浏览: 44
matplotlib 中的散点图可以使用颜色映射和大小来表示数据的不同特征。
颜色映射:使用不同颜色来表示数据的某个特征,比如温度、密度等。可以使用 `cmap` 参数来指定颜色映射,常用的有 `viridis`、`plasma`、`coolwarm` 等。
大小映射:使用不同大小的散点来表示数据的某个特征,比如数量、重要性等。可以使用 `s` 参数来指定大小映射,需要一个数组来表示每个数据点的大小。
下面是一个示例代码,演示如何使用颜色映射和大小映射来绘制散点图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100) * 10 # 生成大小数据
c = np.random.rand(100) # 生成颜色数据
# 绘制散点图
plt.scatter(x, y, cmap='coolwarm', s=z*100, c=c)
plt.colorbar() # 添加颜色条
plt.show()
```
上述代码中,`cmap='coolwarm'` 指定了颜色映射为 `coolwarm`,`s=z*100` 表示将大小数据乘以 100,使得散点的大小更明显。`c` 参数用来指定每个散点的颜色,它的取值范围应该在 [0, 1] 之间。最后通过 `plt.colorbar()` 添加颜色条,以便更好地展示颜色映射。
相关问题
matplotlib散点图函数
matplotlib是一个用于绘制数据可视化的Python库,其中包含了丰富的绘图函数。散点图是matplotlib中的一种常见图表类型,用于展示两个变量之间的关系。
在matplotlib中,可以使用scatter函数来创建散点图。scatter函数的基本语法如下:
```python
import matplotlib.pyplot as plt
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, alpha=None)
```
其中,参数含义如下:
- x:表示散点图中每个点的x坐标值,可以是一个列表或数组。
- y:表示散点图中每个点的y坐标值,可以是一个列表或数组。
- s:表示散点的大小,默认为20。
- c:表示散点的颜色,默认为蓝色。
- marker:表示散点的形状,默认为圆形。
- cmap:表示散点的颜色映射,默认为None。
- alpha:表示散点的透明度,默认为1.0。
下面是一个简单的例子,展示了如何使用scatter函数创建一个散点图:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.scatter(x, y)
plt.show()
```
这段代码会创建一个简单的散点图,其中x轴表示x变量,y轴表示y变量。
matplotlib散点图的参数
Matplotlib绘制散点图的函数是`scatter()`,而不是`plot()`。`scatter()`函数的常用参数及说明如下:
- `x`:表示x轴上的数据,可以是一个数组或者一个序列。
- `y`:表示y轴上的数据,可以是一个数组或者一个序列。
- `s`:表示散点的大小,可以是一个标量或者一个数组,用于指定每个散点的大小。
- `c`:表示散点的颜色,可以是一个标量或者一个数组,用于指定每个散点的颜色。
- `cmap`:表示颜色映射,用于将数值映射到颜色空间。
- `alpha`:表示散点的透明度,取值范围为0到1,0表示完全透明,1表示完全不透明。
以下是一个示例代码,演示了如何使用`scatter()`函数绘制散点图:
```python
import matplotlib.pyplot as plt
import numpy as np
n = 10
x = np.random.normal(0, 1, n)
y = np.random.normal(0, 1, n)
t = np.array(range(n))
plt.scatter(x, y, s=50, c=t, cmap=plt.cm.Spectral, alpha=0.8)
plt.xlim((-1.5, 1.5))
plt.ylim((-1.5, 1.5))
plt.xticks(())
plt.yticks(())
plt.show()
```
这段代码会生成一个散点图,其中x轴和y轴的数据分别为`x`和`y`,散点的大小由`s`指定,颜色由`t`指定,并使用颜色映射`plt.cm.Spectral`进行映射,透明度为0.8。