Python支持多种点类型,如圆点、方块、三角形。
为了方便展示点的符号与对应的类型,下面生成一些随机数据点,调用for
循环根据不同的点类型绘制图形,并用图例直观展示符号与点类型的对应关系。
#散点图
import numpy as np
import matplotlib.pyplot as plt
# 创建一个隔离的随机数生成器
rng = np.random.RandomState(123456)
#循环绘制点图
for marker in ['o', '.', ',', 'x', '+', 'v', '^', '<', '>', 's', 'd']:
plt.scatter(list(rng.rand(5)), list(rng.rand(5)),
marker=marker, label="marker='{0}'".format(marker))
#显示图例
plt.legend(numpoints=1)
plt.xlim(0,2) #避免图例与点重合
plt.show()
如果数据点太多,点和点会有重叠,这样图形可能不美观并影响读者对数据量的判断,比较好的解决办法是为点设置一定的透明度。
未设置透明度:
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.RandomState(12)
x = rng.randn(200)
y = rng.randn(200)
_ = plt.scatter(x,y)
plt.show()
设置透明度:
plt.scatter(x, y, alpha=0.5)
点的大小颜色通常用来表示有价值的信息,可以分别通过关键字参数s
和c
进行设置。
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.RandomState(12)
x = rng.randn(200)
y = rng.randn(200)
colors = rng.rand(200)
sizes = 1000 * rng.rand(200)
plt.scatter(x, y, c=colors, s=sizes, alpha=0.3)
plt.show()
还可加上颜色条,以显示颜色代表的数值信息。
plt.colorbar()