cosmetics for array plots (title, legend)
This commit is contained in:
parent
0223869df6
commit
30680a7820
@ -16,13 +16,14 @@ class SeisArray(object):
|
|||||||
Note: Source and Receiver files for FMTOMO will be generated by the Survey object (because traveltimes will be added directly).
|
Note: Source and Receiver files for FMTOMO will be generated by the Survey object (because traveltimes will be added directly).
|
||||||
'''
|
'''
|
||||||
def __init__(self, recfile):
|
def __init__(self, recfile):
|
||||||
|
self.recfile = recfile
|
||||||
self._receiverlines = {}
|
self._receiverlines = {}
|
||||||
self._receiverCoords = {}
|
self._receiverCoords = {}
|
||||||
self._measuredReceivers = {}
|
self._measuredReceivers = {}
|
||||||
self._measuredTopo = {}
|
self._measuredTopo = {}
|
||||||
self._sourceLocs = {}
|
self._sourceLocs = {}
|
||||||
self._geophoneNumbers = {}
|
self._geophoneNumbers = {}
|
||||||
self._receiverlist = open(recfile, 'r').readlines()
|
self._receiverlist = open(self.recfile, 'r').readlines()
|
||||||
self._generateReceiverlines()
|
self._generateReceiverlines()
|
||||||
self._setReceiverCoords()
|
self._setReceiverCoords()
|
||||||
self._setGeophoneNumbers()
|
self._setGeophoneNumbers()
|
||||||
@ -472,28 +473,33 @@ class SeisArray(object):
|
|||||||
def plotArray2D(self, plot_topo = False, highlight_measured = False, annotations = True):
|
def plotArray2D(self, plot_topo = False, highlight_measured = False, annotations = True):
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
plt.interactive(True)
|
plt.interactive(True)
|
||||||
plt.figure()
|
fig = plt.figure()
|
||||||
|
ax = plt.axes()
|
||||||
xmt, ymt, zmt = self.getMeasuredTopoLists()
|
xmt, ymt, zmt = self.getMeasuredTopoLists()
|
||||||
xsc, ysc, zsc = self.getSourceLocsLists()
|
xsc, ysc, zsc = self.getSourceLocsLists()
|
||||||
xmr, ymr, zmr = self.getMeasuredReceiverLists()
|
xmr, ymr, zmr = self.getMeasuredReceiverLists()
|
||||||
xrc, yrc, zrc = self.getReceiverLists()
|
xrc, yrc, zrc = self.getReceiverLists()
|
||||||
|
|
||||||
plt.plot(xrc, yrc, 'k.', markersize = 10, label = 'all receivers')
|
if len(xrc) > 0:
|
||||||
plt.plot(xsc, ysc, 'b*', markersize = 10, label = 'shot locations')
|
ax.plot(xrc, yrc, 'k.', markersize = 10, label = 'all receivers')
|
||||||
|
if len(xsc) > 0:
|
||||||
|
ax.plot(xsc, ysc, 'b*', markersize = 10, label = 'shot locations')
|
||||||
|
|
||||||
if plot_topo == True:
|
if plot_topo == True:
|
||||||
plt.plot(xmt, ymt, 'b', markersize = 10, label = 'measured topo points')
|
ax.plot(xmt, ymt, 'b', markersize = 10, label = 'measured topo points')
|
||||||
if highlight_measured == True:
|
if highlight_measured == True:
|
||||||
plt.plot(xmr, ymr, 'ro', label = 'measured receivers')
|
ax.plot(xmr, ymr, 'ro', label = 'measured receivers')
|
||||||
|
|
||||||
plt.xlabel('X [m]')
|
plt.title('2D plot of seismic array %s'%self.recfile)
|
||||||
plt.ylabel('Y [m]')
|
ax.set_xlabel('X [m]')
|
||||||
|
ax.set_ylabel('Y [m]')
|
||||||
|
ax.set_aspect('equal')
|
||||||
plt.legend()
|
plt.legend()
|
||||||
if annotations == True:
|
if annotations == True:
|
||||||
for traceID in self.getReceiverCoordinates().keys():
|
for traceID in self.getReceiverCoordinates().keys():
|
||||||
plt.annotate((' ' + str(traceID)), xy = (self._getXreceiver(traceID), self._getYreceiver(traceID)), fontsize = 'x-small', color = 'k')
|
ax.annotate((' ' + str(traceID)), xy = (self._getXreceiver(traceID), self._getYreceiver(traceID)), fontsize = 'x-small', color = 'k')
|
||||||
for shotnumber in self.getSourceLocations().keys():
|
for shotnumber in self.getSourceLocations().keys():
|
||||||
plt.annotate((' ' + str(shotnumber)), xy = (self._getXshot(shotnumber), self._getYshot(shotnumber)), fontsize = 'x-small', color = 'b')
|
ax.annotate((' ' + str(shotnumber)), xy = (self._getXshot(shotnumber), self._getYshot(shotnumber)), fontsize = 'x-small', color = 'b')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -508,11 +514,18 @@ class SeisArray(object):
|
|||||||
|
|
||||||
xmt, ymt, zmt = self.getMeasuredTopoLists()
|
xmt, ymt, zmt = self.getMeasuredTopoLists()
|
||||||
xmr, ymr, zmr = self.getMeasuredReceiverLists()
|
xmr, ymr, zmr = self.getMeasuredReceiverLists()
|
||||||
xin, yin, zin = self.getReceiverLists()
|
xrc, yrc, zrc = self.getReceiverLists()
|
||||||
|
xsc, ysc, zsc = self.getSourceLocsLists()
|
||||||
|
|
||||||
ax.plot(xmt, ymt, zmt, 'b*', markersize = 10, label = 'measured topo points')
|
plt.title('3D plot of seismic array %s'%self.recfile)
|
||||||
ax.plot(xin, yin, zin, 'k.', markersize = 10, label = 'interpolated receivers')
|
if len(xmt) > 0:
|
||||||
ax.plot(xmr, ymr, zmr, 'ro', label = 'measured receivers')
|
ax.plot(xmt, ymt, zmt, 'b.', markersize = 10, label = 'measured topo points')
|
||||||
|
if len(xrc) > 0:
|
||||||
|
ax.plot(xrc, yrc, zrc, 'k.', markersize = 10, label = 'all receivers')
|
||||||
|
if len(xmr) > 0:
|
||||||
|
ax.plot(xmr, ymr, zmr, 'ro', label = 'measured receivers')
|
||||||
|
if len(xsc) > 0:
|
||||||
|
ax.plot(xsc, ysc, zsc, 'b*', label = 'shot locations')
|
||||||
ax.set_xlabel('X'); ax.set_ylabel('Y'); ax.set_zlabel('elevation')
|
ax.set_xlabel('X'); ax.set_ylabel('Y'); ax.set_zlabel('elevation')
|
||||||
ax.legend()
|
ax.legend()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user