每个散点图都有一个单独的标记,默认情况下,您不能在单个散点图中使用不同的标记.因此,如果您乐于仅更改标记大小并保持标记不变,则可以为分散的s参数提供不同大小的数组.
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(10)
x,y,z = np.random.randn(3,10)
sizes = [36]*len(x)
sizes[5] = 121
plt.scatter(x,y,c=z,s=sizes, cmap=plt.cm.jet)
plt.colorbar()
plt.show()
如果确实需要其他标记样式,则可以绘制新的散点图.然后,您可以将第二个散布的颜色限制设置为第一个散布的颜色限制.
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(10)
x,y,z = np.random.randn(3,10)
xs, ys, zs = [x[5]], [y[5]], [z[5]]
print xs, ys, zs
y[5] = np.nan
sc = plt.scatter(x,y,c=z,s=36, cmap=plt.cm.jet)
climx, climy = sc.get_clim()
plt.scatter(xs,ys,c=zs,s=121, marker="s", cmap=plt.cm.jet, vmin=climx, vmax=climy )
plt.colorbar()
plt.show()
最后,在this answer中将给出一些复杂的解决方案,在同一散点图中具有多个不同的标记.