File: plot.py

package info (click to toggle)
amgcl 1.4.4-1
  • links: PTS, VCS
  • area: contrib
  • in suites: sid
  • size: 5,676 kB
  • sloc: cpp: 34,043; python: 747; pascal: 258; f90: 196; makefile: 20
file content (51 lines) | stat: -rwxr-xr-x 1,304 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python
from pylab import *
from scipy.io import mmread

A = mmread('ucube_4_A.mm')

fig, (ax1, ax2) = subplots(2, 1, sharex=True, figsize=(8,10), gridspec_kw=dict(height_ratios=[4,1]))

ax1.spy(A, marker='.', markersize=0.25, alpha=0.2)
ax1.axhline(456191.5, c='k', ls=':', alpha=0.25)
ax1.axvline(456191.5, c='k', ls=':', alpha=0.25)

n1 = 120
n2 = 65
x1 = 153599.5
y1 = 153599.5
x2 = 456158.5
y2 = 456158.5

az1 = ax1.inset_axes([0.45, 0.65, 0.3, 0.3])
az1.spy(A, marker='o', markersize=1, alpha=0.5)
az1.set_xlim([x1, x1 + n1])
az1.set_ylim([y1, y1 + n1])
az1.invert_yaxis()
az1.set_xticklabels('')
az1.set_yticklabels('')

az2 = ax1.inset_axes([0.05, 0.25, 0.3, 0.3])
az2.spy(A, marker='o', markersize=3, alpha=0.5)
az2.axhline(456191.5, c='k', ls=':', alpha=0.25)
az2.axvline(456191.5, c='k', ls=':', alpha=0.25)
az2.set_xlim([x2, x2 + n2])
az2.set_ylim([y2, y2 + n2])
az2.invert_yaxis()
az2.set_xticklabels('')
az2.set_yticklabels('')

ax1.indicate_inset_zoom(az1)
ax1.indicate_inset_zoom(az2)

ax2.semilogy(abs(A.diagonal()), lw=1)
ax2.set_ylabel('Diagonal')
az3 = ax2.inset_axes([0.2, 0.2, 0.3, 0.6])
az3.semilogy(abs(A.diagonal()), lw=1)
az3.set_xlim(50000,50600)
az3.set_xticklabels('')
az3.set_yticklabels('')
ax2.indicate_inset_zoom(az3)

tight_layout()
savefig('ucube_4.png')