matplotlib:直方图的绘制

1、matplotlib绘图三部曲

(1)创建画布

(2)绘图——包含绘图与图形修饰

(3)绘图展示

2、直方图的绘制

(1)导入模块

import matplotlib.pyplot as pltimport numpy as np

  将模块导入到脚本中,并更改名字为plt

(2)创建画布

plt.figure(figsize=(8,5), dpi=120)

  使用figure()方法创建画布,figsize=(x,y)参数用于设置画布大小,单位为英寸,dpi参数用于设置图片像素

  matplotlib默认不支持中文和符号和字符

plt.rcParams[‘font.sans-serif‘] = ‘SimHei‘
plt.rcParams[‘axes.unicode_minus‘] = False

  加入上面两行代码,使其能够显示中文和符号

(3)绘图——包括绘图与图形修饰

  • 准备数据(以班级同学身高数据为例)
data = np.random.uniform(low=150.0, high=195.0, size=33)height = np.array([float("%.1f" % i) for i in data])

  数据一般以数组的形式来表示,这里使用random.uniform()方法随机生成在150和195之间的33个身高数据,height指的是班上同学的身高

  • 确定每一组的组距
group_num = 5
ptp = height.max() - height.min()
step = int(np.ceil(ptp / group_num))
bins = np.arange(height.min(), height.max() + step, step)

  先确定分组数目,再对这组数据的进行最大值和最小值求差计算,最后确定每一组的组距,使用ceil方法设置组距,参数为组距;bins为横轴刻度

  • 绘制直方图
plt.hist(height, bins=bins, color="pink", edgecolor="b")

  使用hist()方法绘制直方图,相关参数有color:线的颜色,bins:横轴的刻度,edgecolor:边框的线条颜色

  • 增加标题
plt.title("身高分布直方图")

  使用title()方法为图表增加标题

  • 增加横轴名称
plt.xlabel("身高(cm)", verticalalignment="top")

  使用xlabel()方法设置横轴名称,参数verticalalignment:设置名称的位置

  • 增加纵轴名称
plt.ylabel("人数(个))", rotation=0, horizontalalignment="right")

  使用ylabel()方法设置纵轴名称,参数horizontalalignment:设置名称的位置,rotation:设置名称的旋转角度

  • 增加刻度
plt.xticks(bins)

  使用xticks()方法增加横轴刻度

yticks = np.arange(0, 15)
plt.yticks(yticks)

  使用yticks()方法设置纵轴刻度,参数yticks为设置后的刻度

  • 直方图不需要图例
  • 增加网格线
plt.grid(True,axis="y",alpha=0.2)

  使用grid()方法为直方图增加网格线,参数axis:只在纵轴方向上设置网格线,alpha:设置网格线的透明度

  • 保存图片
plt.savefig("./身高分布直方图.png")

  使用savefig()方法将绘制出的折线图保存为图片,参数为图片的路径+名字

(4)绘图展示

plt.show()

  使用show()方法展示绘制出的图形,不添加任何参数

3、最终效果展示

4、折线图的特点

  概念:将值标注成点,并将这些点按照某种特定顺序连接起来形成的图称为折线图

  应用场景:数据在一个有序的因变量上的变化,它的特点是反映事物随类别变化的趋势,可以清晰展现数据的增减趋势,增减的速率,增减的规律、峰值等特征

  优点:

    • 能够很好的展现沿某个维度的变化趋势
    • 能够比较多组数据在同一个维度上的趋势
    • 适合展现较大的数据集

  缺点:

    • 每张图上不适合展现较多的折线图

原文地址:https://www.cnblogs.com/xmcwm/p/11824566.html

时间: 2024-10-31 16:34:25

matplotlib:直方图的绘制的相关文章

matplotlib之scatter绘制散点

1 # 使用matplotlib.pyplot.scatter绘制散点 2 import matplotlib.pyplot as plt 3 from pylab import mpl 4 5 # 设置默认字体,解决中文显示乱码问题 6 mpl.rcParams['font.sans-serif'] = ['SimHei'] 7 8 # 画单个点 9 plt.scatter(0, 0, s=200) # 指定点的大小 10 11 # 画多个点 12 x_values = [1, 2, 3, 4

python: 使用matplotlib的pyplot绘制图表

工作中需要观察数据的变化趋势,用python写了一段小程序来用显示简单图表,分享出来方便有同样需求的人,matplotlib是个很不错的库. #!encode=utf8 from matplotlib import pyplot as plt import sys ignore_num=(int)(sys.argv[1]) data=sys.argv[2] show_type=0 if len(sys.argv)>3: show_type=(int)(sys.argv[3]) x=[] vali

『python』科学计算专项_科学绘图库matplotlib学习之绘制动画(待续)

示例代码 简单调用绘图 from matplotlib import pyplot as plt import matplotlib.animation as animation import numpy as np def update_point(num): fig_points.set_data(data[:, 0:num]) return fig_points, fig1 = plt.figure() num_point = 50 data = np.random.rand(2, num

d3.js——直方图的绘制及过去知识点的结合

//随机生成数据 var rand = d3.random.normal(0,25) var dataset = []; for (var i = 0;i <100;i++){ dataset.push(rand()); } 一.直方图数据转换函数: //数据转换 var bin_num = 15 var histogram=d3.layout.histogram() .range([-50,50]) //区间范围 .bins(bin_num) //分隔数 .frequency(true)//t

Matplotlib模块 |图表绘制工具

1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表库 https://matplotlib.org/api/pyplot_api.html import numpy as np import pandas as pd import matplotlib.pyplot as plt # 图表窗口1 → plt.show() plt.plot(np.r

matplotlib:子图绘制

1.matplotlib绘图三部曲 (1)创建画布 (2)绘图——包含绘图与图形修饰 (3)绘图展示 2.折线图的绘制 (1)导入模块 import matplotlib.pyplot as pltimport numpy as np 将模块导入到脚本中,并更改名字为plt (2)创建画布 fig = plt.figure(figsize=(20,10), dpi=120) 使用figure()方法创建画布,将创建好的画布赋值给变量fig,figsize=(x,y)参数用于设置画布大小,单位为英

pyplot直方图的绘制

plt.hist() 1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 np.random.seed(0) 5 mu,sigma = 100,20#均值和标准差 6 a = np.random.normal(mu,sigma,size=100)#100个元素 7 8 plt.hist(a,40,normed=0,histtype='stepfilled',facecolor='b',alpha=0.75)#40表示在生成的图形中

matplotlib基本线图绘制

import numpy as np '''使用matplotlib绘图主要是用到其pyplot模块,它可以程序化生成多种多样的图表, 只需要简单的函数就可以自主化定制图表,添加文本.点.线.颜色.图像等元素.''' import matplotlib.pyplot as plt '''linspace在指定的间隔内返回均匀间隔的数字. 返回num均匀分布的样本,在[start, stop]. 这个区间的端点可以任意的被排除在外.''' #默认的线形和颜色 x=np.linspace(-np.p

[译]matplotlib可视化教程 :绘制有关Turmp, Clinton 和Sanders的推特信息

使用 pandas 和 matplotlib 分析推特 Python有着各种各样的可视化库,其中包括了seaborn, networkx 和 vispy.大部分的可视化Python库都是基于或部分基于matplotlib, matplotlib往往是绘制一些简单图的首选,但是同时对于太过复杂的图往往无能为力而不得不借助于其他库. 在本篇的matplotlib教程中,我们将会涉及到该库的基础,并通过一些中等难度的可视化示例进行阐释. 我们所使用的数据集为大概240,000条推特,这些推特的内容都有