matplotlib.pyplot.scatter的颜色问题

1.通常在import包时,将matplotlib.pyplot缩写为plt,也就是

import matplotlib.pyplot as plt

2.plt可用于画散点图,也就是plt.scatter,这个函数常见的可选参数有

plt.scatter(x,y,s,c)

其中x,y是x轴,y轴的坐标,s是点的大小,如果s是一个数字,那么就表示所有点的大小都是这个,如果s是一个和x,y一样长的数组,那就表示x[i]对应点的大小是s[i],例子如下

x=np.linspace(0,5,100)
y=3*x+4
s=x*x
plt.scatter(x,y,s)

输出如下:
matplotlib.pyplot.scatter的颜色问题_第1张图片
可以看到,点的大小在变化

c表示颜色,如果只是一个字符串就是所有点都是这个颜色,比如’b’表示蓝色,'r’表示红色,例子如下:

x=np.linspace(0,5,100)
y=3*x+4
s=x*x
plt.scatter(x,y,s,'r')

输出如下:
matplotlib.pyplot.scatter的颜色问题_第2张图片
如果c是一个#号加三个16进制的数字,那么会将这三个数字作为RGB数来选择颜色,例子如下:

x=np.linspace(0,5,100)
y=3*x+4
s=x*x
plt.scatter(x,y,s,color='#00F8FF')

输出如下:
matplotlib.pyplot.scatter的颜色问题_第3张图片
如果c是一个和x,y一样长的数组,那么表示x[i]对应的点的颜色是c[i]对应的颜色,例子如下

x=np.linspace(0,5,100)
y=3*x+4
s=x*x
c=x*x*x
fig1=plt.scatter(x,y,s,c)
plt.colorbar(fig1)

输出如下:
matplotlib.pyplot.scatter的颜色问题_第4张图片
其中plt.colorbar(fig1)用于显示图中最右边的颜色条,这个颜色是可以更换的,通过添加参数cmap来实现,例子如下:

x=np.linspace(0,5,100)
y=3*x+4
s=x*x
c=x*x*x
fig1=plt.scatter(x,y,s,c,cmap='hot')
plt.colorbar(fig1)

输出如下
matplotlib.pyplot.scatter的颜色问题_第5张图片
cmap可选参数如下:
[‘viridis’, ‘inferno’, ‘plasma’, ‘magma’]

[‘Blues’, ‘BuGn’, ‘BuPu’, ‘GnBu’, ‘Greens’, ‘Greys’, ‘Oranges’, ‘OrRd’, ‘PuBu’, ‘PuBuGn’, ‘PuRd’, ‘Purples’, ‘RdPu’, ‘Reds’, ‘YlGn’, ‘YlGnBu’, ‘YlOrBr’, ‘YlOrRd’]

[‘afmhot’, ‘autumn’, ‘bone’, ‘cool’, ‘copper’, ‘gist_heat’, ‘gray’, ‘hot’, ‘pink’, ‘spring’, ‘summer’, ‘winter’]

[‘BrBG’, ‘bwr’, ‘coolwarm’, ‘PiYG’, ‘PRGn’, ‘PuOr’, ‘RdBu’, ‘RdGy’, ‘RdYlBu’, ‘RdYlGn’, ‘Spectral’, ‘seismic’]

[‘Accent’, ‘Dark2’, ‘Paired’, ‘Pastel1’, ‘Pastel2’, ‘Set1’, ‘Set2’, ‘Set3’]

[‘gist_earth’, ‘terrain’, ‘ocean’, ‘gist_stern’, ‘brg’, ‘CMRmap’, ‘cubehelix’, ‘gnuplot’, ‘gnuplot2’, ‘gist_ncar’, ‘nipy_spectral’, ‘jet’, ‘rainbow’, ‘gist_rainbow’, ‘hsv’, ‘flag’, ‘prism’]

你可能感兴趣的:(python画图)