matplotlib绘制多个散点图,每个散点图由不同的三次变量着色 [英] matplotlib Plot multiple scatter plots, each colored by different thrid variable

查看:138
本文介绍了matplotlib绘制多个散点图,每个散点图由不同的三次变量着色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在单个散点图上绘制多对数据,每个数据对由不同的第三个变量数组着色.着色似乎适用于第一个图,然后不适用于第二个和第三个图.

I'm trying to plot multiple pairs of data on a single scatter plot, each colored by a different third variable array. The coloring seems to work for the first plot, then fails for the second and third.

任何帮助将不胜感激

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()

推荐答案

我已经删除了 plt.clim(0,5) 行并为所有图添加了最小值和最大值,这似乎有效.

I have removed the plt.clim(0,5) line and added minimal and maximal values for all plots and that seems to work.

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()

这篇关于matplotlib绘制多个散点图,每个散点图由不同的三次变量着色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆