python绘图
2021/9/30 20:40:57
本文主要是介绍python绘图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
散点图
导包
1 import numpy as np 2 import pandas as pd 3 import matplotlib as mpl 4 import matplotlib.pyplot as plt 5 import seaborn as sns
二维图(一个标签)
X1是10个随机数,满足正态分布,y与X1线性相关。
1 X1=np.random.randn(10) 2 y=X1+X1**2-3
1 # 确定画布尺寸 2 plt.figure(figsize=(8,4)) 3 # 绘图 4 plt.scatter(X1,y,s=50,c='red',label='Positive') #s是点的大小 5 #显示label 6 plt.legend()
效果图如下.
图1-1 X1与y的图形
二维图(两个标签)
X1是一个二维数组,10行2列。我将X1的第一列数据作为X轴,X1的第二列数据作为Y轴,一共可绘制除10个点。10个点分为两类,类别对应数组cate,0为一类,1为一类.
1 X1=np.random.randn(10,2) 2 cate=[0,1,1,1,0,1,1,0,0,1] 3 plt.scatter(X1[:,0],X1[:,1],s=20,c=cate)
图形绘制如下.
图 1-2 X1[:,0]与X1[:,1]对应关系
由图可知,虽然已经画出了十个点,并且分为了两类,但是并没有显示两个label.scatter里面的label属性只能填一个值,不能填多个值或是传入数组.为了显示对应的图例,我们
需要借助循环.为了方便说明,我先将所有分类列举出来。
我们通过y==0和y==1筛选出两个类型的数据,然后利用将x和y的数据分开,最后给不同类别添上不同的颜色和标签名。
1 plt.scatter(X1[y==0,0],X1[y==0,1],s=20,c='r',label='zero') 2 plt.legend()
1 plt.scatter(X1[y==0,0],X1[y==0,1],s=20,c='r',label='zero') 2 plt.scatter(X1[y==1,0],X1[y==1,1],s=20,c='g',label='one') 3 plt.legend()
图1-3 zero类的数据散点图 图1-4 zero类和one类的数据散点图
借助for循环画图
1 colors=['blue','green'] 2 labels=['good','bad'] 3 for i in range(2): 4 plt.scatter(X1[y==i,0],X1[y==i,1],c=colors[i],label=labels[i]) 5 plt.legend()
图 1-5 for循环实现散点图
二维图(多个标签)
查看某个特征里的所有取值,以及取值个数
1 uniq=np.unique(data['category']) 2 len(uniq)
图 2-1 特征category取无重复值个数 图2-2 特征category共能取14种值
由图可知,我们会使用到始终不同的颜色去渲染图表,这里我们可以使用plt给我们提供的光谱。
1 color=plt.cm.tab10(5.2) 2 # 每一个浮点数代表一种颜色
图2-3 color对应颜色的rgba
我们规定横坐标为特征area,纵坐标为特征poptoral,一共分为14类。
循环次数是类别个数,x轴是对应类别的area特征,y轴是对应类别的poptotal特征,我们颜色借助了光谱,在导入颜色时要将颜色数据转换成二维数组。
1 for i in range(len(cate)): plt.scatter(data.loc[data.category==cate[i],'area'],data.loc[data.category==cate[i],'poptotal'],s=20,c=np.array(plt.cm.tab10(i/len(cate))).reshape(1,-1),label=cate[i]) 2 plt.legend()
图 2-4 area和poptotal散点图
这篇关于python绘图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型