一、散点图绘制参数说明
scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None)
- x:指定散点图的x轴数据
- y:指定散点图的y轴数据
- s:指定散点图点的大小,默认为20,通过传入其他数值型变量,可以实现气泡图的绘制
- c:指定散点图点的颜色,默认为蓝色,也可以传递其他数值型变量,通过cmap参数的色阶表示数值大小marker:指定散点图点的形状,默认为空心圆
- cmap:指定某个Colormap值,只有当c参数是一个浮点型数组时才有效
- norm:设置数据亮度,标准化到0~1,使用该参数仍需要参数c为浮点型的数组
- vmin、vmax:亮度设置,与norm类似,如果使用norm参数,则该参数无效
- alpha:设置散点的透明度
- linewidths:设置散点边界线的宽度
- edgecolors:设置散点边界线的颜色
1 # 读入数据 2 iris = pd.read_csv('iris.csv') 3 # 绘制散点图 4 plt.scatter(x = iris.Petal_Width, # 指定散点图的x轴数据 5 y = iris.Petal_Length, # 指定散点图的y轴数据 6 color = 'steelblue' # 指定散点图中点的颜色 7 ) 8 # 添加x轴和y轴标签 9 plt.xlabel('花瓣宽度') 10 plt.ylabel('花瓣长度') 11 # 添加标题 12 plt.title('鸢尾花的花瓣宽度与长度关系') 13 # 显示图形 14 plt.show()
②
1 # Pandas模块绘制散点图 2 # 绘制散点图 3 iris.plot(x = 'Petal_Width', y = 'Petal_Length', kind = 'scatter', title = '鸢尾花的花瓣宽度与长度关系') 4 # 修改x轴和y轴标签 5 plt.xlabel('花瓣宽度') 6 plt.ylabel('花瓣长度') 7 # 显示图形 8 plt.show()
③气泡图绘制
1 # 读取数据 2 Prod_Category = pd.read_excel('SuperMarket.xlsx') 3 # 将利润率标准化到[0,1]之间(因为利润率中有负数),然后加上微小的数值0.001 4 range_diff = Prod_Category.Profit_Ratio.max()-Prod_Category.Profit_Ratio.min() 5 Prod_Category['std_ratio'] = (Prod_Category.Profit_Ratio-Prod_Category.Profit_Ratio.min())/range_diff + 0.001 6 7 # 绘制办公用品的气泡图 8 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '办公用品'], 9 y = Prod_Category.Profit[Prod_Category.Category == '办公用品'], 10 s = Prod_Category.std_ratio[Prod_Category.Category == '办公用品']*1000, 11 color = 'steelblue', label = '办公用品', alpha = 0.6 12 ) 13 # 绘制技术产品的气泡图 14 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '技术产品'], 15 y = Prod_Category.Profit[Prod_Category.Category == '技术产品'], 16 s = Prod_Category.std_ratio[Prod_Category.Category == '技术产品']*1000, 17 color = 'indianred' , label = '技术产品', alpha = 0.6 18 ) 19 # 绘制家具产品的气泡图 20 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '家具产品'], 21 y = Prod_Category.Profit[Prod_Category.Category == '家具产品'], 22 s = Prod_Category.std_ratio[Prod_Category.Category == '家具产品']*1000, 23 color = 'black' , label = '家具产品', alpha = 0.6 24 ) 25 # 添加x轴和y轴标签 26 plt.xlabel('销售额') 27 plt.ylabel('利润') 28 # 添加标题 29 plt.title('销售额、利润及利润率的气泡图') 30 # 添加图例 31 plt.legend() 32 # 显示图形 33 plt.show()
二、seaborn散点图绘制
1 import seaborn as sns 2 # seaborn模块绘制分组散点图 3 sns.lmplot(x = 'Petal_Width', # 指定x轴变量 4 y = 'Petal_Length', # 指定y轴变量 5 hue = 'Species', # 指定分组变量 6 data = iris, # 指定绘图数据集 7 legend_out = False, # 将图例呈现在图框内 8 truncate=True # 根据实际的数据范围,对拟合线作截断操作 9 ) 10 # 修改x轴和y轴标签 11 plt.xlabel('花瓣宽度') 12 plt.ylabel('花瓣长度') 13 # 添加标题 14 plt.title('鸢尾花的花瓣宽度与长度关系') 15 # 显示图形 16 plt.show()