散点图
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
x=np.random.random(50)
y=np.random.random(50)
plt.scatter(x,y,s=1.5,c=y,cmap='twilight_shifted')
#当c为单个颜色值
#plt.scatter(x,y,s=3,c='coral')
plt.colorbar()
plt.show()
-
s:此参数控制点的大小。它可以是单个数值,表示所有点的大小相同;也可以是一个数组,表示每个点的大小不同。
-
c:此参数控制点的颜色。它可以是单个颜色值(字符串或颜色代码),表示所有点颜色相同;也可以是一个数组,表示每个点的颜色不同。当
c
是一个数组时,还可以使用cmap
参数来指定一个colormap,用于映射颜色数组到颜色。当c是数组时,一般c为y值(即纵坐标值)。 -
cmap:此参数用于指定一个colormap,它仅在
c
是一个数组时有效。colormap会将c
数组中的值映射到颜色上。
plt.colorbar是在图形旁边有一个对照的颜色条,方便观察对比数据的大小等。
附:colormap对照
直方图
import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
n=12
xx=np.arange(n)
y1=(1-xx/float(n))*(np.random.uniform(0.5,1.0,n))
y2=(1-xx/float(n))*(np.random.uniform(0.5,1.0,n))
ax=plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.bar(xx,y1,facecolor='coral',edgecolor='w')
ax.bar(xx,-y2,facecolor='y',edgecolor='w')
for x,y in zip(xx,y1):
plt.text(x,y+0.05,'%.2f'%y,ha='center',va='bottom')
for x,y in zip(xx,y2):
plt.text(x,-y-0.05,'-%.2f'%y,ha='center',va='top')
plt.xticks(())
plt.yticks(())
plt.show()
ax.bar()中y参数是直方图的高度,其中facecolor是条形图的颜色,而edgecolor是除了条形图内的颜色。
为了方便识图,在每个条状图上(下)标上它的高度大小,用了text函数。'%.2f'%y‘是标注数据的形式设置:保留两位小数,数据来源于y数组。也可以这样写:f'{y:.2f}',在它前面的参数是标注的位置。