http://matplotlib.org
用于创建出版质量图表的绘图工具库 目的是为Python构建一个Matlab式的绘图接口 import matplotlib.pyplot as plt pyplot模块包含了常用的matplotlib API函数 figure Matplotlib的图像均位于figure对象中 创建figure:fig = plt.figure()示例代码:
# 引入matplotlib包import matplotlib.pyplot as pltimport numpy as np%matplotlib inline #在jupyter notebook 里需要使用这一句命令# 创建figure对象fig = plt.figure()
运行结果:会d出一个figure窗口,如下图所示
示例代码:
# 指定切分区域的位置ax1 = fig.add_subplot(2,2,1)ax2 = fig.add_subplot(2,2)ax3 = fig.add_subplot(2,3)ax4 = fig.add_subplot(2,4)# 在subplot上作图random_arr = np.random.randn(100)#print random_arr# 默认是在最后一次使用subplot的位置上作图,但是在jupyter notebook 里可能显示有误plt.plot(random_arr)# 可以指定在某个或多个subplot位置上作图# ax1 = fig.plot(random_arr)# ax2 = fig.plot(random_arr)# ax3 = fig.plot(random_arr)# 显示绘图结果plt.show()
运行结果:仅右下角有图
示例代码:
import matplotlib.pyplot as pltimport numpy as npplt.hist(np.random.randn(100),bins=10,color=‘b‘,Alpha=0.3)plt.show()散点图:scatter
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 绘制散点图x = np.arange(50)y = x + 5 * np.random.rand(50)plt.scatter(x,y)plt.show()柱状图:bar
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 柱状图x = np.arange(5)y1,y2 = np.random.randint(1,25,size=(2,5))wIDth = 0.25ax = plt.subplot(1,1,1)ax.bar(x,y1,wIDth,color=‘r‘)ax.bar(x+wIDth,y2,color=‘g‘)ax.set_xticks(x+wIDth)ax.set_xticklabels([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])plt.show()
矩阵绘图:plt.imshow() 混淆矩阵,三个维度的关系
示例代码:
import matplotlib.pyplot as pltimport numpy as np# 矩阵绘图m = np.random.rand(10,10)print(m)plt.imshow(m,interpolation=‘nearest‘,cmap=plt.cm.ocean)plt.colorbar()plt.show()plt.subplots() 同时返回新创建的figure和subplot对象数组 生成2行2列subplot:fig,subplot_arr = plt.subplots(2,2) 在jupyter里可以正常显示,推荐使用这种方式创建多个图表
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig,2)# bins 为显示个数,一般小于等于数值个数subplot_arr[1,0].hist(np.random.randn(100),Alpha=0.3)plt.show()
运行结果:左下角绘图
等价于ax.plot(x,linestyle=‘--’,color=‘r’)
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig,axes = plt.subplots(2)axes[0].plot(np.random.randint(0,100,50),‘ro--‘)# 等价axes[1].plot(np.random.randint(0,color=‘r‘,linestyle=‘dashed‘,marker=‘o‘)常用的颜色、标记、线型 颜色 b: blue g: grean r: red c: cyan m: magenta y: yellow k: black w: white 标记 .: point ,: pixel o: circle v: triangle_down ^: triangle_up <: tiiangle_left 线型 ‘-‘ or ‘solID‘: solID lint ‘--‘ or ‘dashed‘: dashed line ‘-.‘ or ‘dashdot‘: dash-dotted line ‘:‘ or ‘dotted‘: dotted line ‘None‘: draw nothing ‘ ‘: draw nothing ‘‘: draw nothing 刻度、标签、图例
设置刻度范围
plt.xlim(),plt.ylim()ax.set_xlim(),ax.set_ylim()
设置显示的刻度
plt.xticks(),plt.yticks()ax.set_xticks(),ax.set_yticks()
设置刻度标签
ax.set_xticklabels(),ax.set_yticklabels()
设置坐标轴标签
ax.set_xlabel(),ax.set_ylabel()
设置标题
ax.set_Title()图例
ax.plot(label=‘legend’)ax.legend(),plt.legend()
loc=‘best’:自动选择放置图例最佳位置
示例代码:
import matplotlib.pyplot as pltimport numpy as npfig,ax = plt.subplots(1)ax.plot(np.random.randn(1000).cumsum(),label=‘line0‘)# 设置刻度#plt.xlim([0,500])ax.set_xlim([0,800])# 设置显示的刻度#plt.xticks([0,500])ax.set_xticks(range(0,500,100))# 设置刻度标签ax.set_yticklabels([‘Jan‘,‘Feb‘,‘Mar‘])# 设置坐标轴标签ax.set_xlabel(‘Number‘)ax.set_ylabel(‘Month‘)# 设置标题ax.set_Title(‘Example‘)# 图例ax.plot(np.random.randn(1000).cumsum(),label=‘line1‘)ax.plot(np.random.randn(1000).cumsum(),label=‘line2‘)ax.legend()ax.legend(loc=‘best‘)#plt.legend()总结
以上是内存溢出为你收集整理的matplot绘图全部内容,希望文章能够帮你解决matplot绘图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)