码迷,mamicode.com
首页 > 其他好文 > 详细

Matplotlib 基本用法

时间:2018-07-29 11:45:58      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:imp   com   基础应用   show   new   nes   设置   应用   idt   

1、基础应用

>>> import matplotlib.pyplot as plt
>>> import numpy as np
#使用np.linspace定义x:范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1
>>> x = np.linspace(-1, 1, 50)
>>> y = 2*x + 1
#使用plt.figure定义一个图像窗口. 使用plt.plot画(x ,y)曲线. 使用plt.show显示图像.
>>> plt.figure()
<Figure size 640x480 with 0 Axes>
>>> plt.plot(x, y)
[<matplotlib.lines.Line2D object at 0x000001E9980C9668>]
>>> plt.show()

技术分享图片

2、简单的线条

matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.

#使用np.linspace定义x:范围是(-3,3);个数是50. 仿真一维数据组(x ,y1)表示曲线1. 仿真一维数据组(x ,y2)表示曲线2.
>>> x = np.linspace(-3, 3, 50)
>>> y1 = 2*x + 1
>>> y2 = x**2
>>> plt.figure()
<Figure size 640x480 with 0 Axes>
>>> plt.plot(x, y1)
[<matplotlib.lines.Line2D object at 0x000001E998804EB8>]
>>> plt.show()

技术分享图片

#使用plt.figure定义一个图像窗口:编号为3;大小为(8, 5). 使用plt.plot画(x ,y2)曲线. 使用plt.plot画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线. 使用plt.show显示图像.
>>> plt.figure(num=3, figsize=(8, 5),)
<Figure size 800x500 with 0 Axes>
>>> plt.plot(x, y2)
[<matplotlib.lines.Line2D object at 0x000001C38F43C048>]
>>> plt.plot(x, y1, color=red, linewidth=1.0, linestyle=--)
[<matplotlib.lines.Line2D object at 0x000001C38F43C208>]
>>> plt.show()

技术分享图片

3、设置坐标轴

>>> x = np.linspace(-3, 3, 50)
>>> y1 = 2*x + 1
>>> y2 = x**2

#使用plt.figure定义一个图像窗口. 使用plt.plot画(x ,y2)曲线. 使用plt.plot画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线.
>>> plt.figure()
<Figure size 640x480 with 0 Axes>
>>> plt.plot(x, y2)
[<matplotlib.lines.Line2D object at 0x000001C38F2CD5F8>]
>>> plt.plot(x, y1, color=red, linewidth=1.0, linestyle=--)
[<matplotlib.lines.Line2D object at 0x000001C38F2CD7B8>]

#使用plt.xlim设置x坐标轴范围:(-1, 2); 使用plt.ylim设置y坐标轴范围:(-2, 3); 使用plt.xlabel设置x坐标轴名称:’I am x’; 使用plt.ylabel设置y坐标轴名称:’I am y’;
>>> plt.xlim((-1, 2))
(-1, 2)
>>> plt.ylim((-2, 3))
(-2, 3)
>>> plt.xlabel(I am x)
Text(0.5,0,I am x)
>>> plt.ylabel(I am y)
Text(0,0.5,I am y)
>>> plt.show()

技术分享图片

#使用np.linspace定义范围以及个数:范围是(-1,2);个数是5. 使用print打印出新定义的范围. 使用plt.xticks设置x轴刻度:范围是(-1,2);个数是5
>>> new_ticks = np.linspace(-1, 2, 5)
>>> print(new_ticks)
[-1.   -0.25  0.5   1.25  2.  ]
>>> plt.xticks(new_ticks)
([<matplotlib.axis.XTick object at 0x000001C38F5ADF60>, <matplotlib.axis.XTick object at 0x000001C38F5ADBA8>, <matplotlib.axis.XTick object at 0x000001C38F5AD320>, <matplotlib.axis.XTick object at 0x000001C38F4BD320>, <matplotlib.axis.XTick object at 0x000001C38F4B44E0>], <a list of 5 Text xticklabel objects>)
#使用plt.yticks设置y轴刻度以及名称:刻度为[-2, -1.8, -1, 1.22, 3];对应刻度的名称为[‘really bad’,’bad’,’normal’,’good’, ‘really good’]. 使用plt.show显示图像.
>>> plt.yticks([-2, -1.8, -1, 1.22, 3],[r$really\ bad$, r$bad$, r$normal$, r$good$, r$really\ good$])
([<matplotlib.axis.YTick object at 0x000001C3832A15F8>, <matplotlib.axis.YTick object at 0x000001C38F5A6B70>, <matplotlib.axis.YTick object at 0x000001C38F5AD240>, <matplotlib.axis.YTick object at 0x000001C38F4B4FD0>, <matplotlib.axis.YTick object at 0x000001C38F4C79E8>], <a list of 5 Text yticklabel objects>)
>>> plt.show()

技术分享图片

4、设置不同的名字和位置

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> x = np.linspace(-3, 3, 50)
>>> y1 = 2*x + 1
>>> y2 = x**2
>>> plt.figure()
<Figure size 640x480 with 0 Axes>
>>> plt.plot(x, y2)
[<matplotlib.lines.Line2D object at 0x000001C38E1099B0>]
>>> plt.plot(x, y1, color=red, linewidth=1.0, linestyle=--)
[<matplotlib.lines.Line2D object at 0x000001C38E1095C0>]
>>> plt.xlim((-1, 2))
(-1, 2)
>>> plt.ylim((-2, 3))
(-2, 3)
>>> new_ticks = np.linspace(-1, 2, 5)
>>> plt.xticks(new_ticks)
([<matplotlib.axis.XTick object at 0x000001C38F2DD860>, <matplotlib.axis.XTick object at 0x000001C3832862E8>, <matplotlib.axis.XTick object at 0x000001C38F47FAC8>, <matplotlib.axis.XTick object at 0x000001C38D91B240>, <matplotlib.axis.XTick object at 0x000001C38D91BCC0>], <a list of 5 Text xticklabel objects>)
>>> plt.yticks([-2, -1.8, -1, 1.22, 3],[$really\ bad$, $bad$, $normal$, $good$, $really\ good$])
([<matplotlib.axis.YTick object at 0x000001C38F4410B8>, <matplotlib.axis.YTick object at 0x000001C38F487AC8>, <matplotlib.axis.YTick object at 0x000001C38F47F0B8>, <matplotlib.axis.YTick object at 0x000001C38B7A2C50>, <matplotlib.axis.YTick object at 0x000001C38B7A2AC8>], <a list of 5 Text yticklabel objects>)

#使用plt.gca获取当前坐标轴信息. 使用.spines设置边框:右侧边框;使用.set_color设置边框颜色:默认白色; 使用.spines设置边框:上边框;使用.set_color设置边框颜色:默认白色;
>>> ax = plt.gca()
>>> ax.spines[right].set_color(none)
>>> ax.spines[top].set_color(none)
>>> plt.show()

技术分享图片

5、调整坐标轴

#使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:top,bottom,both,default,none)
>>> ax.xaxis.set_ticks_position(bottom)

#使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)
>>> ax.spines[bottom].set_position((data, 0))

#使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none)
>>> ax.yaxis.set_ticks_position(left)

#使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data) 使用plt.show显示图像.
>>> ax.spines[left].set_position((data,0))
>>> plt.show()

 

 技术分享图片

 

Matplotlib 基本用法

标签:imp   com   基础应用   show   new   nes   设置   应用   idt   

原文地址:https://www.cnblogs.com/anhoo/p/9384665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!