python散点图

1、 导入库

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns

# 使图像显示负号
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体/Microsoft YaHei
mpl.rcParams['axes.unicode_minus'] = False

2、 散点图–颜色–plt.cm.tab10的应用

1  np.unique	对数组去重
2  plt.cm.tab10(i/len(lab))生成的是元组,而这里不允许一维数据输入,所以将它转化为array后再转化为一个1*4的数组
	reshape(-1,1)转化为n*1的数组
	reshape(1,-1)转化为1*n的数组
dataSet = pd.read_csv(r"F:\Pycharmworkspace\data\多分类问题\客户类别分类_多分类.csv",sep=',')
# 获取数据标签列的类别,并去重
lab = np.unique(dataSet['custcat'])
plt.figure(figsize=(8,5))
for i in range(len(lab)):
    plt.scatter(dataSet.loc[dataSet.iloc[:,-1] == lab[i],'age']
                ,dataSet.loc[dataSet.iloc[:,-1] == lab[i],'income']
                ,s=10
                ,c=np.array(plt.cm.tab10(i/len(lab))).reshape(1,-1)
                ,label = lab[i]
                )
plt.legend()
plt.show()

在这里插入图片描述

3、 散点图–画布—figure的应用

plt.figure(figsize=(8,5) #画布大小
          ,dpi=80 #图像分辨率
          ,facecolor='#00ff00' #背景颜色,默认白色
          ,edgecolor='k' #边框颜色,默认黑色
          )
plt.scatter(np.array(range(10)),np.array(range(10))*2+1,c='b',s=20)
plt.show()

4、 散点图–装饰图像

# gca获取现有图像
# set规定图像的横纵坐标范围
# xlim,ylim 设置范围
plt.gca().set(xlim=(0,100), ylim=(0,2000))
plt.xticks(fontsize=12)  #X轴的坐标字体大小
plt.yticks(fontsize=12)  #Y轴的坐标字体大小
plt.xlabel('Age',fontsize=22)  #X轴的标题及字体大小
plt.ylabel('Income',fontsize=22)  #Y轴的标题及字体大小
plt.title("图像的标题", fontsize=22)  #图像的标题及字体
plt.legend(fontsize=12)  #图例的字体大小
plt.show()

5、 散点图–封装方法

DataFarme是一个pandas.core.series.Series类型的数据

# x1:特征1列 x2:特征2列 y:标签列
def FZscatter(x1,x2,y):
    # 标签类别
    lab = np.unique(y.values)
    plt.figure(figsize=(8, 5))

    for i in range(len(lab)):
        plt.scatter(x1[y.values[:] == lab[i]]
                    , x2[y.values[:] == lab[i]]
                    , s=10
                    , c=np.array(plt.cm.tab10(i / len(lab))).reshape(1, -1)
                    , label=lab[i]
                    )
    plt.legend()
    plt.show()

FZscatter(dataSet.loc[:,'age'],dataSet.loc[:,'income'],dataSet.iloc[:,-1])

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值