Python绘图之⼆维图与三维图详解各位⼯程师累了吗? 推荐⼀篇可以让你技术能⼒达到出神⼊化的⽹站"持久男"
1.⼆维绘图
a. ⼀维数据集
⽤ Numpy ndarray 作为数据传⼊ ply
1.
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(1000)
y = np.random.standard_normal(10)
print "y = %s"% y
x = range(len(y))
print "x=%s"% x
plt.plot(y)
plt.show()
2.操纵坐标轴和增加⽹格及标签的函数
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(1000)
y = np.random.standard_normal(10)
plt.plot(y.cumsum())
plt.axis('tight') # 坐标轴适应数据量 axis 设置坐标轴
plt.show()
3.plt.xlim 和 plt.ylim 设置每个坐标轴的最⼩值和最⼤值#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(1000)
y = np.random.standard_normal(20)
plt.plot(y.cumsum())
plt.xlim(-1,20)
plt.ylim(np.min(y.cumsum())- 1, np.max(y.cumsum()) + 1)
plt.show()
4. 添加标题和标签 plt.title, plt.xlabe, plt.ylabel 离散点, 线#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(1000)
y = np.random.standard_normal(20)
plt.figure(figsize=(7,4)) #画布⼤⼩
plt.plot(y.cumsum(),'b',lw = 1.5) # 蓝⾊的线
plt.plot(y.cumsum(),'ro') #离散的点
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple Plot')
numpy教程pdfplt.show()
b. ⼆维数据集
np.random.seed(2000)
y = np.random.standard_normal((10, 2)).cumsum(axis=0) #10⾏2列在这个数组上调⽤cumsum 计算赝本数据在0轴(即第⼀维)上的总和print y
1.两个数据集绘图
#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(2000)
y = np.random.standard_normal((10, 2))
plt.figure(figsize=(7,5))
plt.plot(y, lw = 1.5)
plt.plot(y, 'ro')
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')
plt.show()
2.添加图例 plt.legend(loc = 0)
#!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(2000)
y = np.random.standard_normal((10, 2))
plt.figure(figsize=(7,5))
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,1], lw = 1.5, label = '2st')
plt.plot(y, 'ro')
plt.legend(loc = 0) #图例位置⾃动
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')
plt.show()
3.使⽤2个 Y轴(左右)fig, ax1 = plt.subplots() ax2 = ax1.twinx() #!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(2000)
y = np.random.standard_normal((10, 2))
fig, ax1 = plt.subplots() # 关键代码1 plt first data set using first (left) axis
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,0], 'ro')
plt.legend(loc = 0) #图例位置⾃动
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value')
plt.title('A simple plot')
ax2 = ax1.twinx() #关键代码2 plt second data set using second(right) axis
plt.plot(y[:,1],'g', lw = 1.5, label = '2nd')
plt.plot(y[:,1], 'ro')
plt.legend(loc = 0)
plt.ylabel('value 2nd')
plt.show()
4.使⽤两个⼦图(上下,左右)plt.subplot(211)
通过使⽤ plt.subplots 函数,可以直接访问底层绘图对象,例如可以⽤它⽣成和第⼀个⼦图共享 x 轴的第⼆个⼦图. #!/etc/bin/python
#coding=utf-8
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(2000)
y = np.random.standard_normal((10, 2))
plt.figure(figsize=(7,5))
plt.subplot(211) #两⾏⼀列,第⼀个图
plt.plot(y[:,0], lw = 1.5,label = '1st')
plt.plot(y[:,0], 'ro')
plt.legend(loc = 0) #图例位置⾃动
plt.axis('tight')
plt.ylabel('value')
plt.title('A simple plot')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论