matplotlib.pyplot绘制legend、特殊符号、设置坐标轴Ticks

python作为一门编程语言长期受到IT,科学工作者的青睐。其众多优秀的开源库大大缩短了程序编写工作者的工作量,而且对于许多科学运算库(或包)经历长期的更新和改进,运算效率得到很大提升。对于一个初级的程序猿,如果自己去实现一些运算过程,实现后的效率肯定远不及稳定包中的实现过程。

matplotlib是一个近似于Matlab绘图的开源库,具备很强的绘图功能,可能只有你想不到的图不能通过matplotlib绘制。下面就matplotlib.pyplot列举一个示例,涉及到绘制legend,特殊符号,设置坐标轴Ticks。

  1. 首先,我们先生成序列,用于绘制曲线。
import matplotlib.pyplot as plt
import matplotlib.ticker as tkr
import numpy as np
x = np.arange(-5,5,0.1);
y1 = np.sin(2*x+np.pi/3);
y2 = np.cos(x);
  1. 新建figure,获取figure的句柄。
myfig = plt.figure(21);
  1. 新建plot。这里使用一种可以自定义plot位置和大小的方式新建一个plot。当然也可以使用plt.subplot()来实现新建plot。通过调整[left, bottom, width, height]四个参数可以调节plot的位置和大小(width,height)。
### And plot to figure: [left, bottom, width, height]
ax1 = myfig.add_axes([0.2,0.2,0.5,0.32]);
  1. 绘制曲线。
ax1.plot(x,y1,label="y1");
ax1.plot(x,y2,label="y2");
  1. 绘制坐标轴label。在绘制Y轴的label时,使用了一个特殊符号‘℃’,该符号的Unicode编码为\u2103,Unicode编码之前的字符u表示Unicode。
plt.xlabel("Time (s)");
## set y label a unique char (degree centigrade)
plt.ylabel(("%s%c%s") % ("Temperature(",u"\u2103",")"));
  1. 设置两次plot的legend。如果需要单独控制每条曲线(符号)的legend,在上述4步骤中应该在plot时获取plot和axis的句柄。详情可参考文末列出的参考网站(matplotlib的官方文档)。
## set legend
ax1.legend(loc='upper left',fontsize=8);
  1. 设置坐标轴的Ticks。下面分别展示两种不同方法。设置X轴ticks的方法可以指定major ticks,minor ticks的间隔,在科学绘图中应该是非常有用了,还可以设置ticks的显示格式,此处只显示了浮点数位数的控制,实际上还有很多格式控制可选,包括百分比(%)等。设置Y轴的ticks时,使用的方法可以具体控制每个位置(值)的ticks名称。更多的设置可参考文末列出的参考网站(matplotlib的官方文档)。
## set X axis's ticks (major and minor)
ax1.xaxis.set_major_locator(tkr.MultipleLocator(2.0));
ax1.xaxis.set_minor_locator(tkr.MultipleLocator(1.0));
## set the str format of major ticker of X axis
ax1.xaxis.set_major_formatter(tkr.FormatStrFormatter("%2.1f"));
## set Y axis's ticks
###         position   str
plt.yticks((-1,1),('Low','High'));
plt.ylim((-1.2,1.2));
  1. 希腊字母,上下标的输出。
## write formulus to plot
plt.text(1.3,0.8,r'('+'$\mu\mathrm{mol}$'+' '+'$m^{-2}.s^{-1})$'+' $A_n$',fontsize=15,horizontalalignment='center',verticalalignment='center');
  1. 保存图片,可选的格式很多了,包括png,pdf,tif等。
# Save figure
plt.savefig("./pyplotLegend.pdf",dpi=600,format='pdf');

展示下结果图


pyplot_legend_demo1.png

参考网站

https://matplotlib.org/api/_as_gen/matplotlib.pyplot.text.html?highlight=pyplot%20text#matplotlib.pyplot.text

感谢提供强大matplotlib库,详尽使用文档的python社区全体开发,维护者。

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

推荐阅读更多精彩内容

  • 一、概述 深度学习的一个重要手段是训练数据和训练过程的可视化,因此,我们关于深度学习的系列介绍文章就从Matplo...
    aoqingy阅读 6,120评论 0 24
  • 前述:Python程序设计可以利用多种方法实现对图像和图像的呈现和处理,在这是利用Python3.x自带的tkin...
    IIronMan阅读 9,033评论 0 8
  • 为什么现在创业这么热?是互联网思维,去中间商,解决供需两端信息不对称,低成本的流量导入等优势提供人们新的思路和解决...
    圣骑士的皇冠阅读 109评论 0 0
  • 印象筆記郵箱:1668377358@qq.com 愛好:爬山穿越学习喝茶 1、北京七星地坪科技有限公司董事长 2、...
    鲁新红阅读 101评论 0 0
  • 一年又一年,时间飞快,17年农历新年眼看就快到了,老李头已经在家开始打年货,大扫除,挂腌肉,忙活起来了。辛苦了大半...
    时间储藏柜阅读 565评论 3 1