我对matplotlib的颜色条有疑问。
散点图用x,y和大小设置。我的目的是绘制200随机大小和随机颜色点。并且颜色以200 * 3矩阵给出。 pic是正确的,而颜色条显示错误。
我发现colorbar()输入类型有问题。但我不知道如何配置或修复它。谁能帮帮我吗?感谢。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(200)
y = np.random.rand(200)
size = np.random.rand(200) * 200
color = np.array(np.random.rand(200*3))
color.shape = 200, 3
pic = plt.scatter(x, y, size, color)
plt.colorbar()
答案 0 :(得分:2)
颜色条表示将某些值映射到颜色。
在问题的代码中你没有任何价值,只有颜色。所以当然matplotlib不知道在颜色栏中映射什么值。
相反,您可以指定要映射的值。然后matplotlib将使用默认的色彩映射(或者您可以使用cmap
参数指定的色彩映射)。将这些值映射到色彩映射中的相应颜色。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(200)
y = np.random.rand(200)
size = np.random.rand(200) * 200
value = np.random.rand(200)
pic = plt.scatter(x, y, size, value)
plt.colorbar(pic)
plt.show()