| 78 | self.aava[Dumpsys.FRAMESTATS] = [] |
| 79 | |
| 80 | def plot(self, _type=Dumpsys.MEMINFO, filename=None): |
| 81 | title = "Dumpsys" |
| 82 | if _type == Dumpsys.FRAMESTATS: |
| 83 | subtitle = "gfxinfo " + Dumpsys.FRAMESTATS |
| 84 | else: |
| 85 | subtitle = _type |
| 86 | if _type == Dumpsys.MEMINFO: |
| 87 | if self.ava: |
| 88 | if DEBUG: |
| 89 | print("plot:", file=sys.stderr) |
| 90 | for k in list(self.ava.keys()): |
| 91 | print(" {}: {}".format(k, self.ava[k]), file=sys.stderr) |
| 92 | |
| 93 | host = host_subplot(111, axes_class=AA.Axes) |
| 94 | plt.subplots_adjust(right=0.75) |
| 95 | par = {} |
| 96 | for k in list(self.ava.keys()): |
| 97 | if k != Dumpsys.TOTAL: |
| 98 | par[k] = host.twinx() |
| 99 | |
| 100 | axis = 1 |
| 101 | for k in list(self.ava.keys()): |
| 102 | if k != Dumpsys.TOTAL and k != Dumpsys.ACTIVITY: |
| 103 | offset = axis * 60 |
| 104 | axis += 1 |
| 105 | new_fixed_axis = par[k].get_grid_helper().new_fixed_axis |
| 106 | par[k].axis["right"] = new_fixed_axis(loc="right", |
| 107 | axes=par[k], |
| 108 | offset=(offset, 0)) |
| 109 | par[k].axis["right"].toggle(all=True) |
| 110 | |
| 111 | if DEBUG: |
| 112 | print("setting host x lim {} {}".format(np.amin(self.na), np.amax(self.na)), file=sys.stderr) |
| 113 | minx = np.amin(self.na) |
| 114 | maxx = np.amax(self.na) |
| 115 | divx = abs(maxx - minx) / (len(self.na) * 1.0) |
| 116 | host.set_xlim(minx - divx, maxx + divx) |
| 117 | miny = np.amin(self.ava[Dumpsys.TOTAL]) |
| 118 | maxy = np.amax(self.ava[Dumpsys.TOTAL]) |
| 119 | divy = ceil(abs(maxy - miny) / (len(self.ava[Dumpsys.TOTAL]) * 1.0)) |
| 120 | if DEBUG: |
| 121 | print("setting host y lim {} {}".format(miny - divy, maxy + divy), file=sys.stderr) |
| 122 | host.set_ylim(miny - divy, maxy + divy) |
| 123 | host.set_xlabel('N') |
| 124 | host.set_ylabel(Dumpsys.TOTAL) |
| 125 | |
| 126 | for k in list(self.ava.keys()): |
| 127 | if k != Dumpsys.TOTAL: |
| 128 | par[k].set_ylabel(k) |
| 129 | |
| 130 | plots = {} |
| 131 | if DEBUG: |
| 132 | print(" host plot {} : {}".format(self.na, self.ava[Dumpsys.TOTAL]), file=sys.stderr) |
| 133 | plots[Dumpsys.TOTAL], = host.plot(self.na, self.ava[Dumpsys.TOTAL], label=Dumpsys.TOTAL, linewidth=2) |
| 134 | for k in list(self.ava.keys()): |
| 135 | if k != Dumpsys.TOTAL: |
| 136 | if DEBUG: |
| 137 | print(" {} plot {} : {}".format(k, self.na, self.ava[k]), file=sys.stderr) |