2626https://qualcoder.wordpress.com/
2727"""
2828
29- from copy import copy
29+ from copy import copy , deepcopy
3030import logging
3131import os
3232import pandas as pd
@@ -1256,14 +1256,18 @@ def make_heatmap(self):
12561256 TODO include in filters: Selected Attributes for Cases - uses attribute_file_ids and attributes_msg
12571257 """
12581258
1259+ codes = deepcopy (self .codes )
1260+ if len (codes ) > 40 :
1261+ codes = codes [:40 ]
1262+ Message (self .app , _ ("Too many codes" ), _ ("Too many codes for display. Restricted to 40" )).exec ()
12591263 # Filters
12601264 heatmap_type = self .ui .comboBox_heatmap .currentText ()
12611265 if heatmap_type == "" :
12621266 return
12631267 title = heatmap_type + " " + _ ("Heatmap" )
12641268 self .get_selected_categories_and_codes ()
12651269 y_labels = []
1266- for c in self . codes :
1270+ for c in codes :
12671271 y_labels .append (c ['name' ])
12681272 category = self .ui .comboBox_category .currentText ()
12691273 self .ui .lineEdit_filter .setText ("" )
@@ -1286,11 +1290,14 @@ def make_heatmap(self):
12861290 sql = "select id, name from source where id " + file_ids_txt + " order by name"
12871291 cur .execute (sql )
12881292 files = cur .fetchall ()
1293+ if len (files ) > 40 :
1294+ files = files [:40 ]
1295+ Message (self .app , _ ("Too many files" ), _ ("Too many files for display. Restricted to 40" )).exec ()
12891296 for f in files :
12901297 x_labels .append (f [1 ])
12911298 # Calculate the frequency of each code in each file
12921299 # Each row is a code, each column is a file
1293- for code_ in self . codes :
1300+ for code_ in codes :
12941301 code_counts = []
12951302 for f in files :
12961303 code_counts .append (self .heatmap_counter_by_file_and_code (owner , f [0 ], code_ ['cid' ]))
@@ -1300,11 +1307,14 @@ def make_heatmap(self):
13001307 sql = "select caseid, name from cases order by name"
13011308 cur .execute (sql )
13021309 cases = cur .fetchall ()
1310+ if len (cases ) > 40 :
1311+ cases = cases [:40 ]
1312+ Message (self .app , _ ("Too many cases" ), _ ("Too many cases for display. Restricted to 40" )).exec ()
13031313 for c in cases :
13041314 x_labels .append (c [1 ])
13051315 # Calculate the frequency of each code in each file
13061316 # Each row is a code, each column is a file
1307- for code_ in self . codes :
1317+ for code_ in codes :
13081318 code_counts = []
13091319 for c in cases :
13101320 cur .execute ("SELECT fid FROM case_text where caseid=?" , [c [0 ]])
@@ -1322,7 +1332,7 @@ def make_heatmap(self):
13221332 subtitle += attr_msg
13231333 # Calculate the frequency of each code in each file
13241334 # Each row is a code, each column is a file
1325- for code_ in self . codes :
1335+ for code_ in codes :
13261336 code_counts = []
13271337 for c in self .attribute_case_ids_and_names :
13281338 cur .execute ("SELECT fid FROM case_text where caseid=?" , [c [0 ]])
0 commit comments