在matplotlib库,使用plt.scatter()函数生成散点图
import matplotlib.pyplot as plt
x=[0,1,2,3,4,5,6,7,8,9]
y=[6,3,6,5,5,5,0,3,2,8]
plt.scatter(x,y)
plt.show()
'''
plt.scatter()函数的主要参数:
s:
size的缩写,设置散点的大小。若是给定一个数值,则所有点的大小一致;若是给定一个数组,则每个点的大小不同。
c:
color的缩写,设置散点的颜色。若只有一个值,则所有的点设置为同一个颜色,若给定一个颜色数组,则不同的点可以设置成不同的颜色,若给定浮点数的数组,则映射到相应的颜色。
marker:
用于设置散点的标记,用法与折线图的marker参数一对称,具体参考《python数据可视化--matplotlib绘制折线图(2)》对marker的详细介绍。
cmap:
表示数据点的颜色映射表,仅当参数c为浮点数的数组时才可用。cmap需要花很大的篇幅进行介绍,往后再详细讲解,在此先按下不表。
norm:
表示数据的亮度,取值范围在0~1,只有c是一个浮点数的数组的时候才使用。
alpha:
表示数据的透明度,取值范围在0~1。
linewidths:表示数据点边缘的宽度。
edgecolors:表示数据点边缘的颜色。
'''
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False## 默认是使用Unicode负号,设置正常显示字符,如正常显示负号
x=np.random.normal(-8,5,100)#均值为-8,方差为5的正态分布中随机抽样100个点
y=np.random.normal(-8,5,100)#均值为-8,方差为5的正态分布中随机抽样100个点
x1=np.random.normal(5,5,50)#在均值为5,方差为5的正态分布中随机抽样50个点
y1=np.random.normal(5,5,50)#在均值为5,方差为5的正态分布中随机抽样50个点
plt.scatter(x1,y1,marker='^',label='小学')
plt.scatter(x,y,s=30,label='大学')
plt.legend()
plt.title('某城市小学与大学分布图')
plt.show()
使用颜色映射
'''
颜色映射是一系列颜色,从起始颜色渐变到结束颜色,可用于突出数据的规律
例如,交钱的颜色显示较小的值,较深的颜色显示较大的值
'''
import matplotlib.pyplot as plt
x = list(range(1,101))
y = [x_value**2 for x_value in x]
plt.scatter(x,y,c = y, cmap = plt.cm.Blues,s = 40)
#cmap表示使用哪种颜色
plt.show()
###自动保存图表
plt.savefig('squares_plot.png',bbox_inches = 'tight' )
#第一个实参表示要以什么杨的文件名保存图表,以及存储位置,第二个表示将图标对于的空白区裁剪掉