Matplotlib画图基础
来源:互联网 发布:csol2控制台fps优化 编辑:程序博客网 时间:2024/06/07 15:08
Matplotlib画图
目录:
1.根据数据画曲线图
2.带箭头图
3.3D立体图
4.多子图结构
5.饼状图
6.柱状图
import numpy as npimport matplotlib.pyplot as plt%matplotlib inlinedata= np.loadtxt('/home/robot_lcl/lcl_file/train_log/train.log.test')#print datax=data[:,0]y1=data[:,3]y2=data[:,2]#plt.figure(1,figsize=(3,2))fig = plt.figure(figsize=(3,2))ax1 = fig.add_subplot(111)plot1, = ax1.plot(x, y1, 'b', label='$loss')ax1.set_ylabel('test loss')ax1.set_xlabel('iteration')ax2 = ax1.twinx()plot2, = ax2.plot(x, y2, 'r',label='$accuracy')ax2.set_ylabel('test accuracy')plt.legend([plot1, plot2], ( 'loss','accuracy' ) , 'upper center',bbox_to_anchor=(0.85, -0.05),shadow=True, ncol=2)#plt.legend(loc='upper center', bbox_to_anchor=(0.8, -0.05), shadow=True, ncol=2)plt.savefig('/home/robot_lcl/lcl_file/train_log/accu.png',format='png')plt.show()
2.===annotat格式可参阅网上资料。在通过annotate()函数画一个标注的箭头;其中的两个位置是箭头和箭尾的坐标,后面是颜色等信息
import matplotlib.pyplot as pltfig = plt.figure(5)plt.figure(1,figsize=(3,2)) #控制宽度和高度;ax = plt.subplot(111)ann = ax.annotate("Test", xy=(0.2,0.2), xytext=(0.8,0.8), size=20, va="center", ha="center", bbox=dict(boxstyle="round4", fc="w"), #字体大小,位置,边框以及前景色 arrowprops=dict(arrowstyle="-|>",connectionstyle="arc3,rad=0.2",fc="r") #曲线,箭头红色 )ax.grid(True)plt.show()
<matplotlib.figure.Figure at 0x7ff31dee1e90>
3. 3D立体图
import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d x,y=np.mgrid[-2:2:20j,-2:2:20j] z=x*np.exp(-x**2-y**2) ax=plt.subplot(111,projection='3d') ax.plot_surface(x,y,z,rstride=2,cstride=1,cmap=plt.cm.coolwarm,alpha=0.8) ax.set_xlabel('x') ax.set_ylabel('y') ax.set_zlabel('z') plt.show()
- 画多子图结构
from matplotlib import pyplot as pltimport numpy as npt=np.arange(0, 5, 0.2) #类似python里的rangefig=plt.figure()#行,列,序号ax1 = fig.add_subplot(221)ax2 = fig.add_subplot(222)ax3 = fig.add_subplot(212)ax1.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')ax1.grid(True)ax1.set_title("plot")ax2.semilogy(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')ax2.grid(True)ax2.set_title("ylog")ax3.semilogy(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')ax3.grid(True)ax3.set_title('loglog')fig.suptitle('normal vs ylog vs loglog') #大图的标题fig.subplots_adjust(hspace=0.4) #控制图3和上两个图间距;plt.show()
多子图结构画法:
from matplotlib import pyplot as pltimport numpy as npt=np.arange(0, 5, 0.2) #类似python里的rangefig=plt.figure()#行,列,序号ax1 = fig.add_subplot(321)ax2 = fig.add_subplot(322)ax3 = fig.add_subplot(312)ax4 = fig.add_subplot(325)ax5 = fig.add_subplot(326)
5.画饼状图
plt.figure(1,figsize=(3, 3))sizes = [120,30,59]labels = 'GL', 'GR', 'GS'colors = ['red','yellowgreen','lightskyblue']explode=(0.06, 0, 0)patches, l_texts, p_texts = plt.pie(sizes, explode=explode, labels=labels, colors=colors,labeldistance=1.1,autopct='%2.1f%%', shadow=True, startangle=90, pctdistance=0.6)# labeldistance 标签距圆心1.1倍半径, autopct 2位整数,1位小数; startangle第一块起始角度,逆时针90开始;# pctdistance百分比距离圆心位置;plt.axis('equal')#设置 XY轴刻度一致,保证图是圆的;#plt.legend() # 图例#patches, l_texts, p_texts= 设置标签,比例数字显示的大小;for t in l_texts: t.set_size(10)for t in p_texts: t.set_size(10)plt.show()
6.画柱状图
import matplotlib.pyplot as plt; import numpy as npfeat = [0.6,0.8,0.4]print featplt.figure(num=1,figsize=(2.5, 2)) method = ('Left','Right', 'Go')x_pos = np.arange(3)#plt.barh(range(len(feat)), feat)plt.bar(x_pos,feat,align = 'center', alpha = 0.5,color='r',width=0.3) plt.xticks(x_pos,method,fontsize =8) plt.yticks(fontsize =8) # change the num axis sizeplt.title('Output',size=8) #plt.ylabel("prob")plt.grid(True) #网格线for x, y in zip(x_pos,feat): plt.text(x,y+0.02, '%.2f' % y, ha='center', va='bottom') # 将数字加在各个柱状图上;plt.ylim(0,1.1) #plt.savefig('/home/robot_lcl/Desktop/picture/p.png',format='png')plt.show()
[0.6, 0.8, 0.4]
import matplotlib.pyplot as pltdata = [5, 20, 15, 25, 10]plt.figure(num=1,figsize=(2.5, 2)) plt.barh(range(len(data)), data)plt.show()
0 0
- Matplotlib画图基础
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib画图
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib 画图
- matplotlib画图基础,华氏温度到摄氏温度的转换
- matplotlib画图(3)
- matplotlib画图(4)
- matplotlib画图(5)
- matplotlib画图一些属性
- matplotlib 画图 条形图
- HDOJ 3507 Print Article (斜率优化DP)
- java缓存技术的介绍
- [数据结构]归并排序
- 献给青春的歌 · 致「 腾讯QQ 18 岁」
- HDOJ 1004 Let the Balloon Rise
- Matplotlib画图基础
- Codeforces803B Distances to Zero
- C语言中如何定义动态二维数组并输出
- 海量数据以及大数据常考的笔试面试题
- 卷积神经网络(CNN)资料收集
- Stm32-实时采集数据(温度与一氧化碳)并且通过wifi模块(Esp8266)实时传输到电脑
- windows环境下C++多线程文件传输
- BZOJ 1419: Red is good 期望DP
- PAT 乙等 1004 C语言