matplotlib包的学习(一)

一.matplotlib是什么

matplotlib是一个在Python中将数据可视化的第三方包,和matlab中的plot指令,和gnuplot类似,都是将数据进行可视化的工具。matplotlib是一个数学绘图库,可以用它来制作折线图和散点图等的图表。

二.基础指令

折线图

1. 绘制折线图

首先导入matplotlib中的pyplot,pyplot中包含了很多画图的函数,和matlab中画图类似,需要以下几个要素:

  1. 绘图区域
  2. 横纵坐标
  3. 数据
    因此根据这三个要素我们来绘制一幅折线图
import matplotlib.pyplot as plt #导入matplotlib
squares = [1, 4, 9, 16, 25] #数据点
plt.plot(squares) #绘制图表
plt.show() #显示图表

在这里插入图片描述

2. 修改标签文字和线条粗细
#导入matplotlib包
import matplotlib.pyplot as plt
from matplotlib.pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文
#设置数据点
squares = [1, 4, 9, 16, 25]
#设置图表标题
plt.title("计算平方和",fontsize = 24)
#给坐标轴添加标签
plt.xlabel("数值", fontsize = 14)
plt.ylabel("平方和", fontsize = 14)
#设置线条粗细
plt.plot(squares, linewidth = 5)
plt.show()
  • title()给图表指定标题
  • linewidth()设置plot()绘制的线条粗细
  • xlabel()和ylabel()让你能够为每条轴设置标题

在这里插入图片描述

3. 矫正图形

我们发现4的平方并非是25,所出现的原因如下:我们为plot()提供一系列数字时,它的默认第一个数据点对应的x坐标值为0,但是我们第一个数据点对应的坐标值是1。为了改变这个情况,我们新建一个列表存放x轴的数据。

#导入matplotlib包
import matplotlib.pyplot as plt
from matplotlib.pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文
#设置数据点
input_value = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
#设置图表标题
plt.title("计算平方和",fontsize = 24)
#给坐标轴添加标签
plt.xlabel("数值", fontsize = 14)
plt.ylabel("平方和", fontsize = 14)
#设置线条粗细
plt.plot(input_value, squares, linewidth = 5)
plt.show()

改变plot()中的参数,添加x轴数据,结果如下:
在这里插入图片描述
此时52=25是正确的。

散点图

1.绘制散点图

绘制散点图的函数是scatter(),对他传递一对x和y坐标,就可以在指定位置绘制一个点。

plt.scatter(3, 9)
plt.show()

在这里插入图片描述

2.绘制一系列点

思路其实与折线图一样,用两个列表分别存储x和y坐标,再用scatter()把它们绘制出来就可以了

x_value = [1, 2, 3, 4, 5]
y_value = [3, 4, 7, 9, 11]
#s=100表示点的大小
plt.scatter(x_value, y_value, s=100)
plt.show()

结果如下图所示:
在这里插入图片描述

3.设置坐标区间

有时候需要显示的数据点很多,但我们只需要看一个范围内的数据,我们就可以设置图表的坐标轴取值范围。

#x坐标值从1到1000
x_value = list(range(1,1001))
y_value = [x**2 for x in x_value]
#s表示点的大小
plt.scatter(x_value, y_value, s=40)
#设置每个坐标轴的取值范围
plt.axis([0, 1100, 0, 1100000])
plt.show()
  • axis([横坐标起点,横坐标终点,纵坐标起点,纵坐标终点])

结果如下:
在这里插入图片描述

4.修改数据点颜色

要修改数据点颜色时,在scatter()中传递实参c,c是一个列表,其中包含三个0-1之间的小数值,分别表示红色、绿色和蓝色分量(类似于RGB)

  • 蓝色: ‘b’ (blue)
  • 绿色: ‘g’ (green)
  • 红色: ‘r’ (red)
  • 蓝绿色(墨绿色): ‘c’ (cyan)
  • 红紫色(洋红): ‘m’ (magenta)
  • 黄色: ‘y’ (yellow)
  • 黑色: ‘k’ (black)
  • 白色: ‘w’ (white)
  • 灰度表示: e.g. 0.75 ([0,1]内任意浮点数)
  • RGB表示法: e.g. ‘#2F4F4F’ 或 (0.18, 0.31, 0.31)
#x坐标值从1到1000
x_value = list(range(1,1001))
y_value = [x**2 for x in x_value]
#s表示点的大小
plt.scatter(x_value, y_value, s=40, edgecolors='none',
            c = (0,1,0))
#设置每个坐标轴的取值范围
plt.axis([0, 1100, 0, 1100000])
plt.show()

在这里插入图片描述

5.渐变色

在数据可视化中,我们可以用较浅的颜色来表示小数值,用较深的颜色来显示较大的值。

plt.scatter(x_value, y_value, s=40, edgecolors='none',
            c = y_value , cmap = plt.cm.Blues)
  • 将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。这些代码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色,结果如下

在这里插入图片描述

6.保存图表

savefig()可以自动将图表保存到文件中,该函数的第一个实参指定要以什么样的文件名保存图表,一般来说这个文件将存储在该代码所在的目录中;第二个实参将图表多余的空白区域裁剪掉。

7.清空图表
  • plt.cla()

  • plt.close(0)# 关闭图 0

  • plt.close(‘all’) 关闭所有图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值