import matplotlib.pyplot as plt
squares = [1,4,9,16,25,36]
fig,ax = plt.subplots()##创建画布和表格
#这种表述方式,fig表示整张图片变量,可以理解成画布,
#ax则是图片or画布中的表格变量,一个画布中可以存放多个表格
ax.plot(squares) #传递表格中需要绘制的数据
plt.show()
subplots()函数:
subplots(nrows=1, ncols=1, sharex=False,sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, ** fig_kw)
——详见网址——
nrows,ncols参数:整数类型,可选项,默认均为1.nrows是设置横向网格(表格数量)ncols是纵向的列数。
如下代码则绘制:
fig,ax = plt.subplots(2,3)
sharex,sharey参数:布尔类型或是{“none”,“all”,“row”,“col”}字典类型,默认为False,用来指定各子图之间是否共用xy轴属性;(当nrows,ncols参数都为一时则不需处理)
True or “all”:将在所有图像之间共享xy轴属性
False or “none”:每个图像x,y轴属性都是独立的
"row”:进行横向属性共享——即每一行的Y轴都是共享相同的
"col ":进行列向属性共享——即每一列的X轴都是共享相同的
squeeze:布尔类型,默认为True;
True:(因此在调用的时候要使用数组的形式)
如果只创建了一个子图像,返回的坐标系对象是一个标量
如果创建的是1xN单行或者MX1单列的子图像,返回坐标系对象是一个一维numpy数组
如果创建的是 NXM(N>1,M>1) 多行多列的子图像,返回坐标系对象是一个2维数组
False:
没有进行降维压缩,无论图像如何排列返回的坐标系对象总是2维数组的。
num:整数类型或者字符串类型,默认:None。设置图像的序号或者标签
subplot_kw:字典,可选项。字典里的关键字被传递给add_subplot函数去调用图像类型
gridspec_kw:字典,可选项。将关键字传递给Gridspec构造函数,该构造函数用于放置子图的网络。
** fig_kw:所有关键字参数都传递给pyplot.figure函数去调用
返回结果:
fig:画布对象
ax:坐标系子图对象或者轴对象的数组
fig,(ax1,ax2) = plt.subplots(1,2)
fig,((ax11,ax12),(ax21,ax22)) = plt.subplots(2,2) #注意表格顺序
ax12.plot(squares)#使用表ax12绘制改组数据
如下图:
plot()函数:
Plot y versus x as lines and/or markers.
Call signatures:
plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
The coordinates of the points or line nodes are given by x, y.
The optional parameter fmt is a convenient way for defining basic formatting like color, marker and linestyle. It's a shortcut string notation described in the Notes section below.(参数fmt是用来设置颜色,坐标点形式,线性等的)
案例解释:
>>> plot(x, y) # plot x and y using default line style and color
>>> plot(x, y, 'bo') # plot x and y using blue circle markers(用蓝色圆圈标记绘画曲线)
>>> plot(y) # plot y using x as index array 0..N-1(用X的坐标点数值绘画曲线)
>>> plot(y, 'r+') # ditto, but with red plusses (同上,但有红色加号)
You can use Line2D properties as keyword arguments for more control on the appearance. Line properties and fmt can be mixed. The following two calls yield identical results:(线条属性和fmt参数可以混合使用)
>>> plot(x, y, 'go--', linewidth=2, markersize=12)
>>> plot(x, y, color='green', marker='o', linestyle='dashed',
... linewidth=2, markersize=12)
When conflicting with fmt, keyword arguments take precedence.(当和fmt参数冲突,关键字参数优先)
————————fmt参数类型在链接末尾—————————————————————————————
绘制标记数据:
有一种方便的方法来绘制带有标签数据的对象(即可以通过索引访问的数据obj['y']).不是提供数据x和y,您可以在数据参数,并给出x和y:
>>> plot('xlabel', 'ylabel', data=obj)
支持所有可索引对象。这可以是例如dict,apandas.DataFrame或者结构化numpy阵列。
绘制多组数据:
绘制多组数据的方法多种多样。
1、最直接的方法就是执行plot多次。
示例:
>>> plot(x1, y1, 'bo')
>>> plot(x2, y2, 'go')
2、如果x和/或y是2D数组,将为每一列绘制一个单独的数据集。如果两者都有x和y都是2D,它们必须有相同的数据范围(也就是X和Y的坐标点要一一对应,不能缺少点,如果x和y中一个是一维数组另一个是二维则绘制的两个曲线都会才用同一个一维坐标的点)。如果其中只有一个是具有形状(N,m)的2D,另一个必须具有长度N,并且将用于每个数据集m。
示例:
>>> x = [1, 2, 3]
>>> y = np.array([[1, 2], [3, 4], [5, 6]])
>>> plot(x, y)
y是二维数组,x坐标为一维数组因此,此代码将绘制两条曲线,X坐标相同都是123,y坐标分别是135和246
相当于:
>>> for col in range(y.shape[1]):
... plot(x, y[:, col])
3、第三种方法是指定多组[x], y, [fmt]群组:
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
在这种情况下,任何附加的关键字参数都适用于所有数据集。此外,该语法不能与数据参数。
默认情况下,每一行都被分配一个由“样式循环”指定的不同样式。这滤波多音和线特性参数仅在您希望明显偏离这些默认值时才是必需的。或者,您也可以使用更改样式循环rcParams["axes.prop_cycle"](默认值:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])).
返回:
列表Line2D
表示打印数据的线条列表。
其他参数:
scalex,scaley布尔,默认值:TRUE
这些参数决定了视图限制是否适合数据限制。这些值被传递给autoscale_view.
(也就是图标大小是否显示最大的数值坐标点范围)
**kwargsLine2D属性,可选
参数用于指定线标签(用于自动图例)、线宽、抗锯齿、标记面颜色等属性。示例:
>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2)
>>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')
如果用一个绘图调用指定多条线,则kwargs适用于所有这些线。如果标签对象是可迭代的,则每个元素都用作每组数据的标签。
————————原文链接———————————————————————————————————
ax.set_title('表格名称',fontsize=10)
ax.set_xlabel('表格X轴名称',fontsize=10)
ax.set_ylabel('表格y轴名称',fontsize=10)
ax.tick_params(axis='both',labelsize=14)#设置X和Y轴刻度的大小尺寸
numpy模块:
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
一个强大的N维数组对象 ndarray
广播功能函数
整合 C/C++/Fortran 代码的工具
线性代数、傅里叶变换、随机数生成等功能
————————菜鸟中文教程——————————————————————————————————
NumPy 官网 http://www.numpy.org/
NumPy 源代码:https://github.com/numpy/numpy
SciPy 官网:https://www.scipy.org/
SciPy 源代码:https://github.com/scipy/scipy
Matplotlib 教程:Matplotlib 教程
Matplotlib 官网:https://matplotlib.org/
Matplotlib 源代码:https://github.com/matplotlib/matplotlib