画图2

画图好难。。。就感觉太多的参数,太多的写法,搞不清楚。。。

matplotlib作为一个非常强大的画图第三方库,可以绘制非常多的漂亮的图象,原谅我想象力有限,对漂亮的理解一言难尽。。。

这篇博文里面介绍其他的常用的图形类型。是的,我会更新的。。。学习好难,总结也好难。。。

直方图与条形图

条形图:条形图用长条形表示每一个类别,长条形的长度表示类别的频数,宽度表示表示类别。
直方图:直方图是一种统计报告图,形式上也是一个个的长条形,但是直方图用长条形的面积表示频数,所以长条形的高度表示:频数/组距。 宽 度表示组距,其长度和宽度均有意义。当宽度相同时,一般就用长条形长度表示频数。但是可以选择归一化何不归一化。归一化之后看面积,没有归一化看高度。

 

区别 频数分布直方图 条形图
横轴上的数据 连续的是一个范围 瑰丽的,之间没有关系,可以设定
长条形之间 没有空隙,是连续的 分散的,间距可以设定
频数的表示 一般用长条形面积表示频数,当宽度相同时,看高度 长条形的长度

直方图

import  numpy
import matplotlib.pyplot as plt
import random

plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['font.serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus'] = False
#  解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

#直方图
data = numpy.random.randn(10000)*10
# data = [random.random() for _ in range(10000)]
print(data)
'''
我们随机产生10000个随机并且服从正态分布的数据,看他们出现的频率
绘制直方图
data:必选参数,绘图数据
bins:直方图的长条形数目,可选项,默认为10
normed:是否将得到的直方图向量归一化,可选项,默认为0,代表不归一化,显示频数。normed=1,表示归一化,显示频率。
facecolor:长条形的颜色
edgecolor:长条形边框的颜色
alpha:透明度
'''
plt.hist(data, bins=50, density=0, facecolor="blue", edgecolor="black", alpha=0.7)
# 显示横轴标签
plt.xlabel("区间")
# 显示纵轴标签
plt.ylabel("频数/频率")
# 显示图标题
plt.title("频数/频率分布直方图")
plt.show()

结果:

条形图

label_list = ['2014','2015','2016','2017','2018','2019']
y1 = [10,30,45,60,12,30]
y2 =[30,20,26,53,23,43]
x = numpy.arange(len(label_list))

rect1 = plt.bar(x,height=y1,width=0.4, alpha=0.8,label="信工",color="red")
rect2 = plt.bar(x = [i+0.4 for i in x] , height=y2,width=0.4,label="数学",color="blue")

#编辑文本
for rect in rect1:
    height = rect.get_height()
    plt.text(rect.get_x() + rect.get_width()/2, height+1, str(height), ha='center', va='bottom')
for rect in rect2:
    height = rect.get_height()
    plt.text(rect.get_x() + rect.get_width()/2, height+1, str(height), ha='center', va='bottom')
#对X轴重定向
plt.xticks([index+0.2 for index in x], label_list)
plt.xlabel("年份")
plt.ylabel("数量")
plt.title("职员数统计")
#Y轴的取值范围
plt.ylim(0,65)
plt.legend()
plt.show()

结果:

 

 emmmmmmm关于text我还没来得及去API查i详细的参数表示,就只是在网站上看了一下用法。。。。好难。。。

 

还有啥水平条形图,堆叠条形图,饼图,箱型图。但是这个周末我不想再写了。。。

 

posted @ 2019-10-20 17:09  壹碗  阅读(163)  评论(0编辑  收藏  举报