我试图绘制在单个散点图,各由一个不同的第三可变阵列彩色多对的数据。 着色似乎第一个情节工作,那么失败的第二和第三位。
任何帮助,将不胜感激
import matplotlib.pyplot as plt
jet=plt.get_cmap('jet')
x = [1,2,3,4]
y = [1,2,3,4]
z = [1,1,1,1]
a = [2,3,4,5]
b = [1,2,3,4]
c = [2,2,2,2]
d = [3,4,5,6]
e = [1,2,3,4]
f = [3,3,3,3]
plt.scatter(x, y, s=100, c=z, cmap=jet)
plt.scatter(a, b, s=100, c=c, cmap=jet)
plt.scatter(d, e, s=100, c=f, cmap=jet)
plt.clim(0,5)
plt.colorbar()
plt.show()
Answer 1:
我已经删除了plt.clim(0,5)线和添加最小值和最大值为所有的情节和,似乎工作。
import matplotlib.pyplot as plt
jet=plt.get_cmap('jet')
x = [1,2,3,4]
y = [1,2,3,4]
z = [1,1,1,1]
a = [2,3,4,5]
b = [1,2,3,4]
c = [2,2,2,2]
d = [3,4,5,6]
e = [1,2,3,4]
f = [3,3,3,3]
plt.scatter(x, y, s=100, c=z, vmin=1, vmax=5, cmap=jet)
plt.scatter(a, b, s=100, c=c, vmin=1, vmax=5, cmap=jet)
plt.scatter(d, e, s=100, c=f, vmin=1, vmax=5, cmap=jet)
plt.colorbar()
plt.show()
Answer 2:
问题是,你的颜色表被重新归一化的每个情节的命令。 也。 作为一个风格问题, jet
基本上都不使用权的颜色表。 所以,试试这个:
import matplotlib.pyplot as plt
jet=plt.get_cmap('coolwarm')
x = [1,2,3,4]
y = [1,2,3,4]
z = [1,1,1,1]
a = [2,3,4,5]
b = [1,2,3,4]
c = [2,2,2,2]
d = [3,4,5,6]
e = [1,2,3,4]
f = [3,3,3,3]
plt.scatter(x, y, s=100, c=z, cmap=jet, vmin=0, vmax=4)
plt.scatter(a, b, s=100, c=c, cmap=jet, vmin=0, vmax=4)
plt.scatter(d, e, s=100, c=f, cmap=jet, vmin=0, vmax=4)
plt.clim(0,5)
plt.colorbar()
plt.show()
使一个很好的情节:
文章来源: matplotlib Plot multiple scatter plots, each colored by different thrid variable