12.bar - wwj-2017-1117/graph GitHub Wiki

""" 画直方图

add_subplot()的作用与subplot一样,用于新增子图。具体如下:

方法1: fig, axes = plt.subplot(221) fig画图空间和子图ax的array坐标系列表。

方法2: #2.1 新建figure对象 fig=plt.figure() #2.2 新建子图1,(2,2,1)表示创建2x2子图中的第一个 ax1=fig.add_subplot(2,2,1) #2.3 每个

plt.subplot(111)是plt.subplot(1, 1, 1)另一个写法而已,更完整的写法是plt.subplot(nrows=1, ncols=1, index=1)。 fig, ax = plt.subplots()等价于fig, ax = plt.subplots(11) fig, axes = plt.subplots(23):即表示一次性在figure上创建成2*3的网格,而使用plt.subplot()只能一个一个的添加。

首先一幅Matplotlib的图像组成部分介绍。 在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象。 每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。 plt.subplots的返回值是 fig: matplotlib.figure.Figure 对象 ax:子图对象(matplotlib.axes.Axes)或者是他的数组

matplotlib下, 一个 Figure 对象可以包含多个子图(Axes).

plt.subplot的返回值是ax对象(子图对象) ax1 = plt.subplot() """

from matplotlib import pyplot as plt import numpy as np

这节课,我们学习如何通过matplotlib绘制简单条形图

第一步,取出一张白纸

fig = plt.figure(1)

第二步,确定绘图范围,由于只需要画一张图,所以我们将整张白纸作为绘图的范围

ax1 = plt.subplot(111)

第三、四步,准备绘制条形图,思考绘制条形图需要确定那些要素

1、绘制的条形宽度

2、绘制的条形位置(中心)

3、条形图的高度(数据值)

width = 0.5 x_bar = np.arange(4) data = np.array([15, 20, 18, 25])

第五步,绘制条形图的主体,条形图实质上就是一系列的矩形元素,我们通过plt.bar函数来绘制条形图

rect = ax1.bar(left=x_bar, height=data, width=width, color="lightblue")

第六步,向各条形上添加数据标签

for rec in rect: x = rec.get_x() height = rec.get_height() ax1.text(x + 0.1, 1.02 * height, str(height) + "cm")

第七步,绘制x,y坐标轴刻度及标签,标题

ax1.set_xticks(x_bar) ax1.set_xticklabels(("first", "second", "third", "fourth")) ax1.set_ylabel("sales") ax1.set_title("The Sales in 2016") ax1.grid(True)

设定y轴上下限[a,b]

ax1.set_ylim(0, 28) plt.show()

画直方图(1)

import numpy as np import matplotlib.pyplot as plt

index = np.arange(4) sales_BJ = [52, 55, 63, 53] sales_SH = [44, 66, 55, 41] bar_width = 0.3 plt.bar(index, sales_BJ, bar_width, color='b') plt.bar(index + bar_width, sales_SH, bar_width, color='r') plt.bar(index, sales_SH, bar_width, color='r', bottom=sales_BJ) plt.show()

""" bar函数原型: matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)  1. left:x轴的位置序列,一般采用range函数产生一个序列,但是有时候可以是字符串  2. height:y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据;  3. alpha:透明度,值越小越透明  4. width:为柱形图的宽度,一般这是为0.8即可;  5. color或facecolor:柱形图填充的颜色;  6. edgecolor:图形边缘颜色  7. label:解释每个图像代表的含义,这个参数是为legend()函数做铺垫的: """