matplotlib基础
1 figure( )
常用来设置图的大小,名称及颜色。
https://blog.csdn.net/m0_37362454/article/details/81511427
2 subplot( )
Matplotlib的可以把很多张图画到一个显示界面,即设置画布划分以及图像在画布上输出的位置
当想给子图加名称标签时可以在subplot( )函数后面加set_title( )函数,如plt.subplot(2,3,i+1).set_title(i+1,fontsize=20),还可直接设置字体大小。
1 t=np.arange(0.0,2.0,0.1)
2 s=np.sin(t*np.pi)
3 plt.subplot(2,2,1) #要生成两行两列,这是第一个图plt.subplot('行','列','编号') 这里可不用逗号分隔,直接写
4 plt.plot(t,s,'b--')
5 plt.ylabel('y1')
6 plt.subplot(2,2,2) #两行两列,这是第二个图
7 plt.plot(2*t,s,'r--')
8 plt.ylabel('y2')
9 plt.subplot(2,2,3)#两行两列,这是第三个图
10 plt.plot(3*t,s,'m--')
11 plt.subplot(2,2,4)#两行两列,这是第四个图
12 plt.plot(4*t,s,'k--')
13 plt.show()
subplot前面俩参数指定的是一个画板被分割成的行和列,后面一个参数则指的是当前正在绘制的编号!
https://www.jianshu.com/p/de223a79217a
3 subplots( )
与subplot( )功能类似,只不过subplots( )指定图的位置时不用1 2 3,而是用类似定义矩阵元素位置的方法。
1 t=np.arange(0.0,2.0,0.1)
2 s=np.sin(t*np.pi)
3 figure,ax=plt.subplots(2,2)
4 ax[0][0].plot(t,s,'r*')
5 ax[0][1].plot(t*2,s,'b--')
6 plt.show()
用法大全:http://www.360doc.com/content/18/0327/19/17157244_740682308.shtml
https://www.cnblogs.com/zhizhan/p/5615947.html
4 text()
在画布的任意位置添加文本。在柱状图绘制时常与zip()函数结合使用。
# !/usr/bin/python
# coding: utf-8
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 11, 1)
y = x ** 2
plt.plot(x, y)
plt.text(-3, 20, "function: y = x * x", size=15, alpha=0.2)
plt.text(-3, 40, "function: y = x * x", size=15, \
family="fantasy", color="r", style="italic", weight="light", \
bbox=dict(facecolor="r", alpha=0.2))
plt.show()
# 第一个参数是x轴坐标,第二个参数是y轴坐标,
# 第三个参数是要显式的文本内容,若是小数,则用%.0f' % y,其中y是标注的数字,0表示不显示小数后面的数值,1就表示显示小数后面一位,
# alpha设置字体的透明度 family设置字体 size设置字体的大小 style 设置字体的风格
# wight 字体的粗细 bbox 给字体添加框,alpha 设置框体的透明度, facecolor 设置框体的颜色
# ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式。
参考:https://blog.csdn.net/you_are_my_dream/article/details/53455256
官方链接:http://matplotlib.org/api/text_api.html#matplotlib.text.Text
5 xlim( ) ylim( )
xlim(xmin, xmax)和ylim(ymin, ymax)来设置x,y坐标范围
6 plt.xscale()
可用来改变坐标轴的刻度,设置为非线性坐标。
参考:https://blog.csdn.net/claroja/article/details/70898253
7 对于做图时不能显示汉字的问题.
a. 若在Windows系统下,可将如下代码放到程序开头即可。
from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False
b. 若在linux系统下,输入fc-list :lang=zh确认系统拥有中文字体文件
在程序开头引入字体如下: 注意fname中是输入如上指令后显示的linux中文字体.
import matplotlib.pyplot as plt import matplotlib as mpl zhfont = mpl.font_manager.FontProperties(fname='/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf') plt.plot([1, 2, 3]) plt.xlabel(u'x轴标签', fontproperties=zhfont) plt.show()
8 plt.legend( )
加上它,label才会显示。
9 当画热力图时,如数字显示重叠,可添加plt.tight_layout()函数