绘制有500行的二维随机数组,使散点大小可以反映x值离原点的距离,透明度为0.7,散点形状为五角形,颜色为绿色
时间: 2024-09-20 20:03:40 浏览: 31
为了绘制这样的二维随机数组,我们可以使用Python的数据可视化库如matplotlib,结合numpy生成数据,并利用scatter函数设置各种属性。下面是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置随机数种子以便于复现结果
np.random.seed(0)
# 生成500行的二维随机数组
data = np.random.randn(500, 2) # 每一行代表一个点的(x, y)坐标
# 计算每个点到原点的距离(欧氏距离)
distances = np.linalg.norm(data, axis=1)
# 创建一个新的图并设定背景透明度
fig, ax = plt.subplots(facecolor=(1, 1, 1, 0.8)) # 透明度设为0.8
ax.set_facecolor('none') # 确保图形背景不会影响颜色显示
# 根据距离大小调整散点大小、形状和颜色
sc = ax.scatter(data[:, 0], data[:, 1],
c='green', # 绿色
s=distances * 10, # 散点大小与距离成正比
marker='5', # 设置五角星形状
alpha=0.7, # 透明度设为0.7
edgecolors='face')
# 添加颜色条,方便理解颜色对应的距离
cbar = fig.colorbar(sc, ax=ax)
cbar.set_label('Distance from origin')
plt.show()
```
阅读全文