菜鸟MATPLOTLIB(subplots-plot)—01

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 xy.

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']).不是提供数据xy,您可以在数据参数,并给出xy:

>>> plot('xlabel', 'ylabel', data=obj)

支持所有可索引对象。这可以是例如dict,apandas.DataFrame或者结构化numpy阵列。

绘制多组数据:

绘制多组数据的方法多种多样。

1、最直接的方法就是执行plot多次。

示例:

>>> plot(x1, y1, 'bo')

>>> plot(x2, y2, 'go')

2、如果x和/或y是2D数组,将为每一列绘制一个单独的数据集。如果两者都有xy都是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


Figure描述:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容