美文网首页我爱编程
学会展示数据(Matplotlib)

学会展示数据(Matplotlib)

作者: suwi | 来源:发表于2018-03-25 16:46 被阅读0次

基本使用

1.1 基本用法

使用import导入模块matplotlib.pyplot,并简写成plt
使用import导入模块numpy,并简写成np

import matplotlib.pyplot as plt
import numpy as np

使用np.linspace定义x:范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1.

x = np.linspace(-1, 1, 50)
y = 2*x + 1

使用plt.figure定义一个图像窗口.
使用plt.plot画(x ,y)曲线.
使用plt.show显示图像.

plt.figure()
plt.plot(x, y)
plt.show()
image

1.2 figure图像

matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
使用plt.figure定义一个图像窗口. 使用plt.plot画(x ,y1)曲线.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x, y1)
plt.show()

使用plt.figure定义一个图像窗口:编号为3;大小为(8, 5). 使用plt.plot画(x ,y2)曲线. 使用plt.plot画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线. 使用plt.show显示图像.

plt.figure(num=3, figsize=(8, 5),)
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.show()
image

1.3 设置坐标轴1

使用plt.xlim设置x坐标轴范围:(-1, 2);
使用plt.ylim设置y坐标轴范围:(-2, 3);
使用plt.xlabel设置x坐标轴名称:’I am x’;
使用plt.ylabel设置y坐标轴名称:’I am y’;

plt.xlim((-1, 2))
plt.ylim((-2, 3))
plt.xlabel('I am x')
plt.ylabel('I am y')
plt.show()

承接上节代码可得:

image
使用np.linspace定义范围以及个数:范围是(-1,2);个数是5.
使用print打印出新定义的范围.
使用plt.xticks设置x轴刻度:范围是(-1,2);个数是5.
new_ticks = np.linspace(-1, 2, 5)
print(new_ticks)
plt.xticks(new_ticks)

使用plt.yticks设置y轴刻度以及名称:刻度为[-2, -1.8, -1, 1.22, 3];对应刻度的名称为[‘really bad’,’bad’,’normal’,’good’, ‘really good’].

plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])
image

1.4 设置坐标轴2

1.4.1 设置不同名字和位置

使用plt.gca获取当前坐标轴信息.
使用.spines设置边框:右侧边框;
使用.set_color设置边框颜色:默认白色;
使用.spines设置边框:上边框;
使用.set_color设置边框颜色:默认白色;

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()

1.4.2 调整坐标轴

使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:topbottombothdefaultnone

ax.xaxis.set_ticks_position('bottom')

使用.spines设置边框:x轴;
使用.set_position设置边框位置:y=0的位置;
(位置所有属性:outwardaxesdata

ax.spines['bottom'].set_position(('data', 0))
plt.show()

使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.
(所有位置:leftrightbothdefaultnone

ax.yaxis.set_ticks_position('left')

1.5 Legend 图例

1.6 Annotation 标注

1.7 tick 能见度

画图种类

2.1 Scatter 散点图

2.2 Bar 柱状图

2.3 Contours 等高线图

2.4 Image 图片

2.5 3D 数据

多图合并显示

3.1 Subplot 多合一显示

3.2 Subplot 分格显示

3.3 图中图

3.4 次坐标轴

动画

4.1 Animation 动画

相关文章

网友评论

    本文标题:学会展示数据(Matplotlib)

    本文链接:https://www.haomeiwen.com/subject/eatkcftx.html