假设您有以下内容:
import matplotlib.pyplot as plt
x = [0.8, 0.4, 0.6, 1, 1.5, 1.8, 2.0, 0.5, 1.3, 0.1]
y = [0.5, 0.12, 0.45, 0.98, 1.31, 1.87, 1.0, 0.11, 1.45, 0.67]
r = [x[i]/y[i] for i in range(len(x))]
fig, ax = plt.subplots(1,1, tight_layout=True, figsize=(10,10))
ax.subplot(x,y,cmap=?)
现在我想画出这个,并有一个彩色地图。然而,点的颜色是由r的值给定的。我该如何做到这一点?
提前谢谢。
以下是的操作方法
import matplotlib.pyplot as plt
x = [0.8, 0.4, 0.6, 1, 1.5, 1.8, 2.0, 0.5, 1.3, 0.1]
y = [0.5, 0.12, 0.45, 0.98, 1.31, 1.87, 1.0, 0.11, 1.45, 0.67]
r = [x[i]/y[i] for i in range(len(x))]
fig, ax = plt.subplots(1,1, tight_layout=True, figsize=(10,10))
ax.scatter(x, y, c=r)
您也可以更改默认的颜色映射
ax.scatter(x, y, c=r, cmap='viridis')
完整的彩色地图参考
您可以使用MatPlotLib的pyplot.scatter,它采用2个数组(x值,y值(作为必需参数。您还可以提供长度为x和y的第三个数组c,用于设置每个点的颜色值。
在您的情况下:
ax.scatter(x=x,y=y,c=r)
就这么简单!