【python/plt】散点图scatter 参数散点图绘制

散点图绘制参数

1、先创造点数据

#x轴坐标(1->4))
x=[1,2,3,4]
#写个二维的表格
y=np.array([[1,2,1,3],[1,2,3,4],[1,2,3,5],[5,6,7,6],[5,5,7,7]])

打印后的y:
在这里插入图片描述
2.绘制y

for i in range(4): 
    print(i,y[:,i])#
    plt.scatter([i+0.3]*len(y),y[:,i],c=[0,0.2,0.4,0.6,0.8],cmap=args.camp1,s=args.s1,alpha=0.5)

得到的打印结果:
在这里插入图片描述
前面的0,1,2,3表示y第0列到第3列的数据。[i+0.3]*len(y) 是图像的整体坐标往右移动0.3个单位(想让点在坐标轴的整数之间)

y[:,i]: 表示第i列所有数据。

c=[0,0.2,0.4,0.6,0.8],这个c可以是整数,如果c是数字1/2/3等,表示的意思是分这几个类别,比如:
在这里插入图片描述(颜色相同但是深浅不同,因为设置了透明度 alpha=0.5,同一个位置的点会叠加。)
当为1或者2,3,4的时候都是一样的。
在这里插入图片描述当c是用来区分不同类别的时候:

在这里插入图片描述
观察最后一列数据,这里指的是一共4列,每一列第一个数据是深蓝色(?),第二个数据是浅灰,第三个数据是红色,第四个数据,也就是c[3]和第一个数据c[0]一样,都是用数字1代表,所以也是深蓝色。
观察第一列,其实坐标(0,1)出现了三次,三个圈圈颜色不一样都在坐标(0,1)的位置,但是现在被最后出现的红色覆盖了。

当c为浮点数的时候,就会按照浮点数的大小显示cmap的颜色了。
在这里插入图片描述
这里我的args.camp1=‘coolwarm’
颜色可以在链接
https://blog.csdn.net/qq_38048756/article/details/118724555
颜色cmap
中找到。
这里的s=args.s1代表散点中散点的大小,我这里设置为100,这可能是和画布大小有关。

散点图框架代码

 #绘制图像
    
    fig, ax = plt.subplots(figsize=(10, 8))
    #绘制第一组数据
    for i in range(numpy1.shape[1]): 
        ax.scatter([i+0.2 for _ in range(len(numpy1))],numpy1[:,i],c=[0.8]*len(numpy1),alpha=args.alpha,cmap=args.camp1,s=args.s1,marker=args.marker)#alpha=1,
        #绘制第二组数据
    for i in range(numpy2.shape[1]): #原始数据
        ax.scatter([i for _ in range(len(numpy2))],numpy2[:,i],c=[0.8]*len(numpy2),alpha=args.alpha,cmap=args.camp2,s=args.s2,marker=args.marker)#alpha=1,
  
    #设置x轴的刻度(和下面的set_xticklabels得一起写)
    ax.set_xticks(range(12))
    ax.set_xticklabels(range(1, 13), fontsize=14)
    #设置标签
    ax.set_ylabel('Values',fontsize=args.label_fontsize) #设定纵轴标签
    ax.set_xlabel('Features',fontsize=args.label_fontsize) #设定纵轴标签
    #绘制为空的图像,主要目的是加上color-label,好写legend,因为前面的scatter是一行跑一次。。。
    ax.plot([], [], 'o', color=args.color2, label=label2)#原始数据
    ax.plot([], [], 'o', color=args.color1, label=label1)
    
    ax.legend(fontsize=12)
    plt.title(title, fontsize=18)
    plt.savefig(title,bbox_inches='tight', dpi=450)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值