python 数据分析基础 day14-matplotlib模块概括条形图直方图折线图散点图箱线图

今天是读《pyhton数据分析基础》的第14天,今天读书笔记的内容为使用matplotlib模块绘制常用的统计图。

模块概括

matplotlib 是最基础的绘图模块,pandas和seaborn的绘图功能的使用依赖于matplotlib。

条形图

#绘制柱形图

from matplotlib import pyplot as plt

#绘图数据
x=["a","c","d","e","b"]
y=[11.5,18.6,17.5,14.3,10.8]

#创建基础图
fig=plt.figure()
#在基础图上仅绘制一个图,括号中的三个参数代表基础图中的统计图布局,参数一次代表:图的行数量、图的列数量、第几个图。本例中,为1行1列,第一个图
bar1=fig.add_subplot(1,1,1)

#绘制柱形图,align表示条形与标签中间对齐。
bar1.bar(x,y,align='center',color="grey")

#设置基础图形中某个统计图(这里指柱形图)的坐标轴位置
bar1.xaxis.set_ticks_position("bottom")
bar1.yaxis.set_ticks_position("left")

#设置x、y轴标签
plt.xlabel("variable x")
plt.ylabel("variable y")

#设置统计图标题
plt.title("sample_bar char")

#显示统计图
plt.show()

统计图如下:

柱形图.png

直方图

#绘制直方图

from matplotlib import pyplot as plt
import numpy as np

#设置数据:两组正态分布的数据
mu1, mu2, sigma = 100, 130, 15 
x1 = mu1 + sigma*np.random.randn(10000)  
x2 = mu2 + sigma*np.random.randn(10000)

#绘制基础图
fig=plt.figure()
hist1=fig.add_subplot(1,1,1)

#绘制直方图
#bins=50 表示每个变量的 值应该被分成 50 份。normed=False 表示直方图显示的是频率分布
hist1.hist(x1,bins=50,normed=False)
hist1.hist(x2,bins=50,normed=False,alpha=0.5)

#确定坐标轴位置
hist1.xaxis.set_ticks_position("bottom")
hist1.yaxis.set_ticks_position("left")

#设置坐标轴标签
plt.xlabel("x")
plt.ylabel("frequencyof x1,x2")

#设置标题
plt.title("sample_histagram")

#显示图形
plt.show()

统计图如下:

直方图.png

折线图

#绘制折线图

from matplotlib import pyplot as plt


#设置绘图数据
x=[1,2,3,4,5]
y=[10.2,13.0,15.1,15.2,16.2] 

#绘制基础图
fig=plt.figure()
plot1=fig.add_subplot(1,1,1)

#绘制折线图
plot1.plot(x,y,marker=r".")

#去顶坐标轴位置
plot1.xaxis.set_ticks_position("bottom")
plot1.yaxis.set_ticks_position("left")

#确定坐标轴标签
plt.xlabel("month")
plt.ylabel("score")

#图标题
plt.title("sample_plot")

#显示图形
plt.show()

统计图如下:

折线图.png

散点图

#绘制散点图

from matplotlib import pyplot as plt
import numpy as np

#准备绘图数据
x=np.random.randn(50).cumsum() 
y=np.random.randn(50).cumsum()

#绘制基础图
fig=plt.figure()
scatter1=fig.add_subplot(1,1,1)

#绘制散点图
scatter1.scatter(x,y)

#确定坐标轴位置
scatter1.xaxis.set_ticks_position('bottom')
scatter1.yaxis.set_ticks_position('left')

#设置坐标轴标签
plt.xlabel("variable x")
plt.ylabel("variable y")

#设置图表标题
plt.title("sample_scatter")

#显示图形
plt.show()

统计图如下:

散点图.png

箱线图

#绘制箱线图 

from matplotlib import pyplot as plt
import numpy as np

#准备绘图数据
normal = np.random.normal(loc=0.0, scale=1.0, size=100)
lognormal = np.random.lognormal(mean=0.0, sigma=1.0, size=100) 
data = [normal,lognormal]
dataLabel=["normal","lognormal"]

#绘制基本图
fig=plt.figure()
boxPlot1=fig.add_subplot(1,1,1)

#绘制箱线图
boxPlot1.boxplot(data,labels=dataLabel)

#确定坐标周位置
boxPlot1.xaxis.set_ticks_position("bottom")
boxPlot1.yaxis.set_ticks_position("left")

#设定坐标轴标签
plt.xlabel("catagory")
plt.ylabel("value")

#设定标题
plt.title("sample_boxPlot")

#显示统计图
plt.show()

统计图如下:

箱线图.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端那些事

过渡与动画 - 缓动效果&基于贝塞尔曲线的调速函数

难题 给过渡和动画加上缓动效果是一种常见的手法(比如具有回弹效果的过渡过程)是一种流行的表现手法,可以让界面显得更加生动和真实:在现实世界中,物体A点到B点往往...

37111
来自专栏有趣的Python

5- OpenCV+TensorFlow 入门人工智能图像处理-图片的几何变换(一)

图片的几何变换 图片的几何变换章节介绍 图片位移 & 图片缩放 图片剪切 & 图片镜像 图片仿射变换 Hog + Svm 小狮子识别 计算机视觉的基础: 裁剪样...

4323
来自专栏机器之心

灵魂追问 | 教程那么多,你……看完了吗?

2999
来自专栏HTML5学堂

CSS3三维变形,其实很简单!

HTML5学堂:空间的变化一直是视觉感官上最吸引人的东西,而如果要把这些空间上的变化用代码在浏览器上实现出来,就需要深入的来了解CSS3的transform 3...

4307
来自专栏SHERlocked93的前端小站

CSS 中重要的层叠概念

最近在项目的过程中遇到了一个问题,menu-bar希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,因...

1032
来自专栏一个小程序员的成长笔记

CSS3动画功能

1.transition功能 transition属性的使用方法:transition:property duration timing-function; 其...

3976
来自专栏tkokof 的技术,小趣及杂念

Half-Pixel Offset 究竟是个什么鬼?

友情提示 Half-Pixel Offset 其实算是个过时话题,请依据个人情况谨慎了解 :)

962
来自专栏图形学与OpenGL

6.5编程实例-立方体透视投影

GLint winWidth = 600, winHeight = 600; //设置初始化窗口大小

2131
来自专栏天天P图攻城狮

iOS基于GPUImage的图像形变设计(简单形变部分)

GPUImage是iOS平台主流的GPU图像处理框架,能够非常方便地使用GPU对图像进行处理,包括:滤镜、分布统计等。 我们知道,如果需要对一个图像进行滤镜处理...

5809
来自专栏Petrichor的专栏

opencv: 阈值处理(cv2.threshold) 探究(图示+源码)

左半边为(单通道)源图片; 右半边为(阈值设为150,填充色设为100)在 不同阈值类型 的取值下生成的(单通道)阈值处理图片。

1684

扫码关注云+社区

领取腾讯云代金券