本片博客介绍了matplotlib画图的API,API很多,只总结了部分自己用到的。开始吧
没有这个库的,pip安装一下。
首先将matplotlib中的pyplot导入,如下:
import matplotlib.pyplot as plt,所以以下的plt都是pyplot。
plt.scatter
画散点图
1 | import matplotlib.pyplot as plt |
上面的代码运行后,是一条线。那是因为点太多了。绘制很多点的时候,轮廓会连在一起。要删除数据点的轮廓可用scatter,传递参数edgecolor=”none”
模块pyplot内置了一组颜色映射,要使用这些颜色映射,你需要告诉pyplot该如何设置数据集中每个点的颜色。
1 | import matplotlib.pyplot as plt |
保存散点图:savefig
保存图片之前,一定要把plt.show()注释掉,否则会保存一张空白的图片
1 | #plt.show() |
plt.bar
画柱状图,默认是竖直条形图。
1 | import matplotlib.pyplot as plt |
水平条形图:需要把orientation改为horizontal,然后x与y的数据交换
1 | import matplotlib.pyplot as plt |
plt.plot(x,y,color=’red’,linewidth=2.5,linestyle=’-‘)
画线,也可以用来画折线图。x是横坐标的值。y是纵坐标的值。color参数设置曲线颜色,linewidth设置曲线宽度,linestyle设置曲线风格。
linestyle的可选参数:
‘-‘ solid line style
‘—‘ dashed line style
‘-.’ dash-dot line style
‘:’ dotted line style
plt.figure()
自定义画布大小,画图之前首先设置figure对象,此函数相当于设置一块自定义大小的画布,使得后面的图形输出在这块规定了大小的画布上,其中参数figsize设置画布大小。
figure语法说明
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
plt.xticks()
设置x轴刻度的表现方式
plt.yticks()
设置y轴刻度的表现方式
plt.xlim()
设置x轴刻度的取值范围
plt.ylim()
设置y轴刻度的取值范围
plt.text(1, 2, “I’m a text”)
前两个参数表示文本坐标, 第三个参数为要添加的文本
plt.legend()
函数实现了图例功能, 他有两个参数, 第一个为样式对象, 第二个为描述字符,都可以为空
plt.xlabel()
添加x轴名字
plt.ylabel()
添加y轴名字
plt.tight_layout()
tight_layout自动调整subplot(s)参数,以便subplot(s)适应图形区域
plt.subplot()
设置画布划分以及图像在画布上输出的位置,将figure设置的画布大小分成几个部分,参数‘221’表示2(row)x2(colu),即将画布分成2x2,两行两列的4块区域,1表示选择图形输出的区域在第一块,图形输出区域参数必须在“行x列”范围
plt.subplots()
subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw) :创建画布和子图
1、nrows,ncols表示将画布分割成几行几列。shares,sharey表示坐标轴的属性是否相同,可选的参数:True、False、row、col。默认值为False。
2、 squeeze bool
a.默认参数为True:额外的维度从返回的Axes(轴)对象中挤出,对于N1或1N个子图,返回一个1维数组,对于N*M,N>1和M>1返回一个2维数组。
b.为False,不进行挤压操作:返回一个元素为Axes实例的2维数组,即使它最终是1x1。
3、subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。
4、gridspec_kw:字典类型,可选参数。把字典的关键字传递给GridSpec构造函数创建子图放在网格里(grid)。
5、**fig_kw:把所有详细的关键字参数传给figure()函数。
plt.grid()
是否开启方格,True为开,False为不显示。默认为False
plt.gca()
获取当前的子图
plt.xcale()
改变x轴的比例。pyplot不仅支持线性轴刻度,还支持对数和logit刻度。如果数据跨越许多数量级,则通常使用此方法
plt.xcale(“logit”),还有log、symmlog等选择。还可以添加自己的比例。
plt.yscale()
改变y轴的比例。用法同plt.xcale一样
随便写了个例子,其他具体的用法还是要自己去练习。
1 | import numpy as np |