matplotlib手册(3)-pyplot文本相关函数使用

昨天学习了figure、subplot,最后还说了些常用的方法。
这里先简单总结下文本相关的函数使用,算是昨天最后一个部分的补充。

1.pyplot.plot

我们先来看下,这个plot函数,之前呢,绘图的时候,一直都是使用这个函数, 貌似没说这个函数到底干啥的。

matplotlib.pyplot.plot(*args, **kwargs)

Plot lines and/or markers to the Axes. args is a variable length argument, allowing for multiple x, y pairs with an optional format string. For example, each of the following is legal:

就是说,这个plot函数呢,可以在axes上绘制线条或者标记;
我们呢,可以直接使用pyplot.plot函数去在当前的Axes上绘图(我们之前应该主要使用这种方法),
也可以获取当前Axes,然后通过Axes去绘图

import matplotlib.pyplot as plt

#手动创建一个figure,标题为"one"
f1 = plt.figure('one')

#获取当前axes
current_axes = plt.gca()

#使用axes绘图
current_axes.plot([1,2,3],[3,2,1],color='red',label='lable1',linewidth=3)
current_axes.plot([1,2,3],[1,2,3],color='green',label='label2',linewidth=3)

print(type(current_axes))

plt.show()

2. 常用文本函数

下面,我们就介绍下Text相关的函数,参考文档:http://matplotlib.org/users/text_intro.html

text() #在任意坐标轴位置,添加文字  matplotlib.axes.Axes.text() 
figtext() #matplotlib.figure.Figure.text() Add text to figure at location x, y (relative 0-1 coords)

Axes.text(x, y, s, fontdict=None, withdash=False, **kwargs)

#这里记录几个常用的参数
#这2个主要是控制文本的位置,大家试一下知道啥意思了
horizontalalignment #[ ‘center’ | ‘right’ | ‘left’ ],水平位置
verticalalignment #[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ],垂直位置

一个小例子

current_axes.text(2,1,'hahaha',fontsize=20)

默认位置,

我们修改下参数

#设置水平居中,文字会在指定的坐标出,进行居中
current_axes.text(2,1,'hahaha',fontsize=20,horizontalalignment='center')

还有一个参数,他可以将文字用框框起来,bbox的value是dic,指定矩形的属性就行,

bbox #FancyBboxPatch prop dict bbox is a dictionary of Rectangle properties.

小例子

current_axes.text(2,3,'hello world.',bbox=dict(facecolor='blue', alpha=0.1))
current_axes.text(2,1,'hahaha',fontsize=20,horizontalalignment='center',
                  verticalalignment='center',
                  bbox=dict(facecolor='blue', alpha=0.5))

上面,还有一个figtext()函数,和text()差不多,只不过,他是相对于figure来说的,主要是相对位置,x,y是0-1的值

plt.figtext(0.5,0.6,'figtext',fontsize=20)

下面,我们继续说常用的文本函数,有些,我们已经用过了

xlabel() #x轴标签 matplotlib.axes.Axes.set_xlabel()
ylabel() #y轴标签 matplotlib.axes.Axes.set_ylabel()
title() #给轴添加标题 matplotlib.axes.Axes.set_title()

小例子

current_axes.set_xlabel('x-label')
current_axes.set_ylabel('y-label')
current_axes.set_title('op-title')

我们继续,还有一个suptitle(),他会在figure的中间位置,添加一个标题

suptitle() #add a title to the Figure; matplotlib.figure.Figure.suptitle()

他有很多的默认参数


plt.suptitle('hey,boy')

再看最后一个函数

#add an annotation, with optional arrow, to the Axes ; matplotlib.axes.Axes.annotate()
annotate() 


#xy指向的坐标,xytext文本坐标,arrowprops定义箭头格式
current_axes.annotate('look!!',xy=(2,2),xytext=(2.5,1.75),
                      arrowprops=dict(facecolor='black', shrink=0.05))

好了,文本相关的函数就介绍到这,整理完以后,感觉还是有太多太多内容,还是得多练习。
完整练习代码:

import matplotlib.pyplot as plt

#手动创建一个figure,标题为"one"
f1 = plt.figure('one')

#获取当前axes
current_axes = plt.gca()

plt.figtext(0.5,0.6,'figtext',fontsize=20)
plt.suptitle('hey,boy')

#使用axes绘图
current_axes.plot([1,2,3],[3,2,1],color='red',label='lable1',linewidth=3)
current_axes.plot([1,2,3],[1,2,3],color='green',label='label2',linewidth=3)
current_axes.plot([1,2,3],[2,2,2],'bs')

current_axes.text(2,3,'hello world.',bbox=dict(facecolor='blue', alpha=0.1))
current_axes.text(2,1,'hahaha',fontsize=20,horizontalalignment='center',
                  verticalalignment='center',
                  bbox=dict(facecolor='blue', alpha=0.5))

current_axes.set_xlabel('x-label')
current_axes.set_ylabel('y-label')
current_axes.set_title('op-title')

#xy指向的坐标,xytext文本坐标,arrowprops定义箭头格式
current_axes.annotate('look!!',xy=(2,2),xytext=(2.5,1.75),
                      arrowprops=dict(facecolor='black', shrink=0.05))

print(type(current_axes))

plt.show()

官网上还有一个例子代码,这里也复制一下,同学们可以去官网看详细的介绍:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt

fig = plt.figure()
fig.suptitle('bold figure suptitle', fontsize=14, fontweight='bold')

ax = fig.add_subplot(111)
fig.subplots_adjust(top=0.85)
ax.set_title('axes title')

ax.set_xlabel('xlabel')
ax.set_ylabel('ylabel')

ax.text(3, 8, 'boxed italics text in data coords', style='italic',
        bbox={'facecolor':'red', 'alpha':0.5, 'pad':10})

ax.text(2, 6, r'an equation: $E=mc^2$', fontsize=15)

ax.text(3, 2, u'unicode: Institut f\374r Festk\366rperphysik')

ax.text(0.95, 0.01, 'colored text in axes coords',
        verticalalignment='bottom', horizontalalignment='right',
        transform=ax.transAxes,
        color='green', fontsize=15)


ax.plot([2], [1], 'o')
ax.annotate('annotate', xy=(2, 1), xytext=(3, 4),
            arrowprops=dict(facecolor='black', shrink=0.05))

ax.axis([0, 10, 0, 10])

plt.show()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容