@@ -1,6 +1,141 | |||
|
1 | 1 | import numpy |
|
2 | 2 | import plplot |
|
3 | 3 | |
|
4 | def cmap1_init(colormap="gray"): | |
|
5 | ||
|
6 | ncolor = None | |
|
7 | rgb_lvl = None | |
|
8 | ||
|
9 | # Routine for defining a specific color map 1 in HLS space. | |
|
10 | # if gray is true, use basic grayscale variation from half-dark to light. | |
|
11 | # otherwise use false color variation from blue (240 deg) to red (360 deg). | |
|
12 | ||
|
13 | # Independent variable of control points. | |
|
14 | i = numpy.array((0., 1.)) | |
|
15 | if colormap=="gray": | |
|
16 | ncolor = 256 | |
|
17 | # Hue for control points. Doesn't matter since saturation is zero. | |
|
18 | h = numpy.array((0., 0.)) | |
|
19 | # Lightness ranging from half-dark (for interest) to light. | |
|
20 | l = numpy.array((0.5, 1.)) | |
|
21 | # Gray scale has zero saturation | |
|
22 | s = numpy.array((0., 0.)) | |
|
23 | ||
|
24 | # number of cmap1 colours is 256 in this case. | |
|
25 | plplot.plscmap1n(ncolor) | |
|
26 | # Interpolate between control points to set up cmap1. | |
|
27 | plplot.plscmap1l(0, i, h, l, s) | |
|
28 | ||
|
29 | return None | |
|
30 | ||
|
31 | if colormap=="br_green": | |
|
32 | ncolor = 256 | |
|
33 | # Hue ranges from blue (240 deg) to red (0 or 360 deg) | |
|
34 | h = numpy.array((240., 0.)) | |
|
35 | # Lightness and saturation are constant (values taken from C example). | |
|
36 | l = numpy.array((0.6, 0.6)) | |
|
37 | s = numpy.array((0.8, 0.8)) | |
|
38 | ||
|
39 | # number of cmap1 colours is 256 in this case. | |
|
40 | plplot.plscmap1n(ncolor) | |
|
41 | # Interpolate between control points to set up cmap1. | |
|
42 | plplot.plscmap1l(0, i, h, l, s) | |
|
43 | ||
|
44 | return None | |
|
45 | ||
|
46 | if colormap=="tricolor": | |
|
47 | ncolor = 3 | |
|
48 | # Hue ranges from blue (240 deg) to red (0 or 360 deg) | |
|
49 | h = numpy.array((240., 0.)) | |
|
50 | # Lightness and saturation are constant (values taken from C example). | |
|
51 | l = numpy.array((0.6, 0.6)) | |
|
52 | s = numpy.array((0.8, 0.8)) | |
|
53 | ||
|
54 | # number of cmap1 colours is 256 in this case. | |
|
55 | plplot.plscmap1n(ncolor) | |
|
56 | # Interpolate between control points to set up cmap1. | |
|
57 | plplot.plscmap1l(0, i, h, l, s) | |
|
58 | ||
|
59 | return None | |
|
60 | ||
|
61 | if colormap == 'rgb' or colormap == 'rgb666': | |
|
62 | ||
|
63 | color_sz = 6 | |
|
64 | ncolor = color_sz*color_sz*color_sz | |
|
65 | pos = numpy.zeros((ncolor)) | |
|
66 | r = numpy.zeros((ncolor)) | |
|
67 | g = numpy.zeros((ncolor)) | |
|
68 | b = numpy.zeros((ncolor)) | |
|
69 | ind = 0 | |
|
70 | for ri in range(color_sz): | |
|
71 | for gi in range(color_sz): | |
|
72 | for bi in range(color_sz): | |
|
73 | r[ind] = ri/(color_sz-1.0) | |
|
74 | g[ind] = gi/(color_sz-1.0) | |
|
75 | b[ind] = bi/(color_sz-1.0) | |
|
76 | pos[ind] = ind/(ncolor-1.0) | |
|
77 | ind += 1 | |
|
78 | rgb_lvl = [6,6,6] #Levels for RGB colors | |
|
79 | ||
|
80 | if colormap == 'rgb676': | |
|
81 | ncolor = 6*7*6 | |
|
82 | pos = numpy.zeros((ncolor)) | |
|
83 | r = numpy.zeros((ncolor)) | |
|
84 | g = numpy.zeros((ncolor)) | |
|
85 | b = numpy.zeros((ncolor)) | |
|
86 | ind = 0 | |
|
87 | for ri in range(8): | |
|
88 | for gi in range(8): | |
|
89 | for bi in range(4): | |
|
90 | r[ind] = ri/(6-1.0) | |
|
91 | g[ind] = gi/(7-1.0) | |
|
92 | b[ind] = bi/(6-1.0) | |
|
93 | pos[ind] = ind/(ncolor-1.0) | |
|
94 | ind += 1 | |
|
95 | rgb_lvl = [6,7,6] #Levels for RGB colors | |
|
96 | ||
|
97 | if colormap == 'rgb685': | |
|
98 | ncolor = 6*8*5 | |
|
99 | pos = numpy.zeros((ncolor)) | |
|
100 | r = numpy.zeros((ncolor)) | |
|
101 | g = numpy.zeros((ncolor)) | |
|
102 | b = numpy.zeros((ncolor)) | |
|
103 | ind = 0 | |
|
104 | for ri in range(8): | |
|
105 | for gi in range(8): | |
|
106 | for bi in range(4): | |
|
107 | r[ind] = ri/(6-1.0) | |
|
108 | g[ind] = gi/(8-1.0) | |
|
109 | b[ind] = bi/(5-1.0) | |
|
110 | pos[ind] = ind/(ncolor-1.0) | |
|
111 | ind += 1 | |
|
112 | rgb_lvl = [6,8,5] #Levels for RGB colors | |
|
113 | ||
|
114 | if colormap == 'rgb884': | |
|
115 | ncolor = 8*8*4 | |
|
116 | pos = numpy.zeros((ncolor)) | |
|
117 | r = numpy.zeros((ncolor)) | |
|
118 | g = numpy.zeros((ncolor)) | |
|
119 | b = numpy.zeros((ncolor)) | |
|
120 | ind = 0 | |
|
121 | for ri in range(8): | |
|
122 | for gi in range(8): | |
|
123 | for bi in range(4): | |
|
124 | r[ind] = ri/(8-1.0) | |
|
125 | g[ind] = gi/(8-1.0) | |
|
126 | b[ind] = bi/(4-1.0) | |
|
127 | pos[ind] = ind/(ncolor-1.0) | |
|
128 | ind += 1 | |
|
129 | rgb_lvl = [8,8,4] #Levels for RGB colors | |
|
130 | ||
|
131 | if ncolor == None: | |
|
132 | raise ValueError, "The colormap selected is not valid" | |
|
133 | ||
|
134 | plplot.plscmap1n(ncolor) | |
|
135 | plplot.plscmap1l(1, pos, r, g, b) | |
|
136 | ||
|
137 | return rgb_lvl | |
|
138 | ||
|
4 | 139 | class BasicGraph: |
|
5 | 140 | """ |
|
6 | 141 |
@@ -170,7 +170,11 class Spectrum(): | |||
|
170 | 170 | powObj.basicXYPlot(power, heis) |
|
171 | 171 | |
|
172 | 172 | class CrossSpectrum(): |
|
173 | graphObjDict = {} | |
|
174 | showColorbar = False | |
|
175 | showPowerProfile = True | |
|
173 | 176 | |
|
177 | __szchar = 0.7 | |
|
174 | 178 | def __init__(self): |
|
175 | 179 | pass |
|
176 | 180 | |
@@ -179,4 +183,31 class CrossSpectrum(): | |||
|
179 | 183 | |
|
180 | 184 | def plotData(self): |
|
181 | 185 | pass |
|
182 | No newline at end of file | |
|
186 | ||
|
187 | if __name__ == '__main__': | |
|
188 | ||
|
189 | import numpy | |
|
190 | plplot.plsetopt("geometry", "%dx%d" %(350*2, 300*2)) | |
|
191 | plplot.plsdev("xcairo") | |
|
192 | plplot.plscolbg(255,255,255) | |
|
193 | plplot.plscol0(1,0,0,0) | |
|
194 | plplot.plinit() | |
|
195 | plplot.plssub(2, 2) | |
|
196 | ||
|
197 | nx = 64 | |
|
198 | ny = 100 | |
|
199 | ||
|
200 | data = numpy.random.uniform(-50,50,(nx,ny)) | |
|
201 | ||
|
202 | specObj = Spectrum() | |
|
203 | specObj.setup(1, "Spectrum", "Frequency", "Range", "br_green", False, False) | |
|
204 | specObj.plotData(data) | |
|
205 | ||
|
206 | data = numpy.random.uniform(-50,50,(nx,ny)) | |
|
207 | ||
|
208 | spec2Obj = Spectrum() | |
|
209 | spec2Obj.setup(2, "Spectrum", "Frequency", "Range", "br_green", True, True) | |
|
210 | spec2Obj.plotData(data) | |
|
211 | ||
|
212 | plplot.plend() | |
|
213 | exit(0) No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now