2d图形绘制,直方图,条形图,散点图,饼图,玫瑰图,极坐标系绘图
matplotlib中2D图形的绘制
直方图
直方图的参数只有一个x,不像条形图需要传入x,y
直方图作用:是统计x在某个区间上出现的次数
直方图是条形图的一种形式
hist()的参数:
#bins 表示数据分成多少组(可以是整数值,也可以是一个序列,默认为10),图形表示在每个组中数据出现的个数
#normal:若为真,表示直方图中的值进行归一化处理,形成概率密度(默认值为False)
#orientation:通过设置orientation为horizontal创建水平直方图,默认为vertical竖直的
如:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as pltx = np.random.randint(0,10,size =20)
plt.hist(x,align = "mid",bins = 10,color = "r",rwidth = 0.5,density = True)
#align设置直方图的位置,bins为分组的个数,rwidth为原来直方图宽度的百分比(默认为1),dengsity是归一化处理
条形图
条形图有两个参数x,y
bar() 垂直方向
barh()水平方向
x = np.arange(0,100,10)
y = np.random.randint(120,1000,size =10 )
plt.bar(x,y,color = ["r","g","y"],width = 5,align = "edge",bottom = 100)
width:条形图宽度,align:条形图的为值(edge为靠左,默认center),bottom:为y轴的数值起点
bar()玫瑰图应用
x = np.linspace(0,2*np.pi,10)
y = np.random.randint(0,5,size =10)
plt.axes(polar = True)axes(polar =True)设置极坐标系,默认为False,直角坐标系
plt.bar(x,y,color = np.random.rand(10,3) #(10,3) 十个颜色,由红绿蓝三原色组成,3为4,则再加上白色
极坐标图(横坐标是一个点)
转圈形式标下大小,转一圈360度=2*pi
axes(polar =True)设置极坐标系,默认为False,直角坐标系
饼图
饼图也是一个只有一个参数x
pie()
饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小
饼图的属性设置
#labels参数设置每一块的标签,labeldistance参数设置标签距离圆心的距离(比例值)
#autopct参数设置比例值的显示格式(%1.1f%%):pctdistance参数设置比例值文字距离圆心的距离
#explode参数设置每一块顶点距离圆心的长度(比例值);
# colors参数设置每一块的颜色;
#shadow参数设置为布尔值,设置是否绘制阴影
#startangle设置旋转角度
如:
plt.figure(figsize = (8,8))
p = [0.2,0.15,0.3,0.25,0.05,0.05]
plt.pie(p,labels = ["USA","CHINA","JAPAN","GERMAN","AAA","HHH"],
labeldistance = 0.7,
autopct = "%0.1f%%",
explode = [0,0.1,0,0,0,0],
shadow = True,
startangle = 30)
散点图
散点图需要两个参数。但此时x不是表示x轴,而是每个点的横坐标
scatter()
x = np.random.randn(1000,2)
plt.scatter(x[:,0],x[:,1],marker = "o",c = np.random.rand(1000,3),s = np.random.randint(30,300,size = 1000))