python 中散点图绘制


一、散点图绘制参数说明

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()

      


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM