# coding: utf-8 from matplotlib import rcParams rcParams['font.family'] = 'sans-serif' rcParams['font.sans-serif'] = ['arial'] import numpy as np import matplotlib.pyplot as pl data1 = np.loadtxt('surface1.txt', usecols=(0,3)) data2 = np.loadtxt('surface2.txt', usecols=(0,3)) data3 = np.loadtxt('surface3.txt', usecols=(0,3)) xmin=min(min(data1[:,0]),min(data2[:,0]),min(data3[:,0])) xmax=max(max(data1[:,0]),max(data2[:,0]),max(data3[:,0])) ymax=0 ymin=min(min(data1[:,1]*1000),min(data2[:,1]*1000),min(data3[:,1]*1000)) ymin=(ymin//50)*50 fig=pl.figure() ax = pl.gca() pl.subplot(1,1,1) pl.xlabel('Distance (m)',fontsize=12) pl.ylabel('Vertcal displacement (mm)',fontsize=12) pl.xlim(xmin, xmax) pl.ylim(ymin, 0) aspect = 0.5*(ax.get_xlim()[1] - ax.get_xlim()[0]) / (ax.get_ylim()[1] - ax.get_ylim()[0]) ax.set_aspect(aspect) pl.axvspan(0, 83, facecolor='#d3d3d3', edgecolor='#d3d3d3',alpha=0.5,label='Dam') pl.axvspan(98, 145, facecolor='#ffffbb',edgecolor='#ffffbb', alpha=0.5,label='Power Station') line1=pl.plot(data1[:,0],data1[:,1]*1000,color='red' ,linewidth=2.0,label='D=1000MPa') line2=pl.plot(data2[:,0],data2[:,1]*1000,color='blue' ,linewidth=2.0,label='D=2000MPa') line3=pl.plot(data3[:,0],data3[:,1]*1000,color='green',linewidth=2.0,label='D=3000MPa') line1[0].set_dashes([5, 2]) line2[0].set_dashes([8,4,2,4]) line3[0].set_dashes([8, 4, 2, 4, 2, 4]) pl.legend(shadow=True, prop={'size':12},loc='lower right',handlelength=3) pl.title('Vertcal displacement distribution') pl.grid(True,which='both',ls='-', color='0.65') pl.savefig("fig_dis.eps", dpi=100) pl.show()