import matplotlib.pyplot as plt
pyplot基础语法
- 创建画布与创建子图
第一部分主要作用是构建出一张空白的画布,并可选是否将画布分为多个部分,方便在一歌图画多个图形。可以省略,后默认的画布上画图。
函数名称 | 函数作用 |
---|---|
plt.figure | 创建空白画布,可以指定画布大小,像素 |
figure.add_subplot | 创建并选中子图,指定子图的行数列数与选中图片编号 |
- 添加画布内容
第二部分是画图的主体。其中 添加标题,左边名称,绘制图形的步骤是并列的,没有先后顺序。但是添加图例一定在绘制图形之后。
- 存与展示图形
第三部分主要用于保存好人显示图片
设置pyplot的动态rc属性
- pyplot使用rc配置文件来自定义各种默认属性,成为rc配置或rc参数
- 在pyplot中几乎所有的默认属性都是可以控制的,例如视图窗口大小以及每英寸点数、线条宽度、颜色和样式、坐标轴、坐标和网格属性、文本、字体等。
修改方式
plt.rcParams[“参数名”]="值"
线条常用rc参数名称解释与取值
-
常用线条类型解释
-
线条标记解释
-
注意事项
- 中文显示
由于默认的pyplot字体并不支持中文字符的显示,因此需要通过设置font.sans-serif参数改变绘图时的字体,使得图形可以正常显示中文。同时,由于更改字体后,会导致坐标轴中的部分字符无法显示,因此需要同时更改axes.unicode_minus参数。
- 中文显示
plt.rcParams["font.sans-serif"] = "SimHei" ## 设置中文显示
plt.rcParams["axes.unicode_minus"] = False
- 除了设置线条和字体的rc参数外,还有设置文本、箱线图、坐标轴、刻度、图例、标记、图片、图像保存等rc参数。具体参数与取值可以参考官方文档。
绘图
绘制散点图
-
概念
散点图(scatter diagram)又称为散点分布图,是以一个特征为横坐标,另一个特征为纵坐标,利用坐标点(散点)的分布形态反映特征间的统计关系的一种图形。值是由点在图表中的位置表示,类别是由图表中的不同标记表示,通常用于比较跨类别的数据
-
plot函数
plt.plot(*args, **kwargs)
参数不限长度,以下参数
参数名称 | 说明 |
---|---|
x, y | 接收array。表示x轴和y轴对应的数据。无默认 |
color | 接收特定string。指定线条颜色。默认None |
linestyle | 接收特定string。制动线条类型,默认“-” |
marker | 接收特定string。表示绘制点的类型,默认None |
alpha | 接收0-1的小数,表示透明度,默认None |
其中color有8中常用颜色缩写
颜色缩写 | 颜色 | 颜色缩写 | 颜色 |
---|---|---|---|
b | 蓝色 | m | 品红 |
g | 绿色 | y | 黄色 |
r | 红色 | k | 黑色 |
c | 青色 | w | 白色 |
data = np.load("./1.npz")
name = data["columns"]
values = data["values"]
plt.figure(figsize=(8,7))
plt.scatter(values[:,0],values[:,2],marker="o")
plt.xlabel("年份")
plt.ylabel("生产总值(医院)")
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title("2000-2017第一季度生产总值")
plt.show()
直方图
-
概念
直方图(Histogram)又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属类别,纵轴表示数量或者占比。用直方图可以比较直观地看出产品质量特性的分布状态,便于判断其总体质量分布情况。直方图可以发现分布表无法发现的数据模式、样本的频率分布和总体的分布。
不同标记表示,通常用于比较跨类别的数据
bar函数
plt.bar(left,height, width = 0.8, bottom=None, hold = None, data = None, **kwargs)
参数名称 | 意义 |
---|---|
left | 接收array,x轴数据 |
height | 接收array,表示x轴代表数据的数据量 |
width | 接收1-0之间的float,表示智立方的宽度 |
color | 接收颜色参数 |
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = "SimHei" ## 设置中文显示
plt.rcParams["axes.unicode_minus"] = False
data = np.load("./1.npz")
name = data["columns"]
valuse = data["values"]
lab = ["第一产业", "第二产业", "第e三产业"]
plt.figure(figsize=(6, 5))
height = valuse[-1, 3:6]
plt.bar(range(3), height, width=0.4)
plt.xlabel("产业")
plt.ylabel("生产总值(医院)")
plt.xticks(range(3), lab)
plt.title("张长旭的做的:2017年第一季度各产业过敏生产总值直方图")
for i in range(len(height)):
plt.text(i, height[i], height[i], va="bottom", ha="center")
plt.savefig("./2.png")
plt.show()
饼图
-
概念
饼图(Pie Graph)是将各项的大小与各项总和的比例显示在一张“饼”中,以“饼”的大小来确定每一项的占比。饼图可以比较清楚地反映出部分与部分、部分与整体之间的比例关系,易于显示每组数据相对于总数的大小,而且显现方式直观。
pie函数
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … )
参数名称 | 说明 | 参数名称 | 说明 |
---|---|---|---|
x | 接收array | autopct | 指定string,数值显示方式 |
explode | 接收array,表示指定项离饼图圆心为n个半径 | pctdistance | 接收float,指定每一项的比例和距饼图圆心多少个半径 |
labels | 接收array,指定每一项的名称 | labeldistance | 接收float指定每一项的名称和距饼图圆心多少个半径 |
color | 接收指定string,饼图的颜色 | radius | 接收float,表示饼的半径 |