Persistent error when plotting heatmap over time.

CorText Manager Q&A forumCategory: Network mappingPersistent error when plotting heatmap over time.
brandonwg asked 3 years ago

I am trying to compute a network with a heatmap with multiple time period. It seems that the script goes well until the third variable is added, then it crashes. Here is the initial script:
First Field: ISItermsiomnews_countries_loc
Second Field: ISItermsnews_wmrterms
Number of nodes: ‘250’
Nodes advanced settings: false
Automatically define the Proximity Measure: true
Edges filtering advanced settings: false
Edges advanced settings: true
Heterogeneous edges: false
Color Edges: true
Only take “short range” cooccurrences: true
Context Range: ‘5’
Context Decay Speed: None
Democratic: false
Choose Original Timescale: Standard Periods
Number of time slices: ’30’
time slices distribution: regular
Overlapping periods: false
sequencing: snapshot
Network Analysis and layout:
Community detection algorithm: louvain
Historical map: false
Project records onto clusters: true
Modify the name of the projected cluster: ”
Assign a unique cluster to each record (best match): true
Penalize large clusters when computing projections: false
Add information from a 3rd variable to tag clusters or produce a heatmap: true
Choose the new field that should be used: ISItermswmr_terms_noref_mig
Tagging/heatmap Specificity Measure: chi2
Heatmap: true
Value of the field you wish to plot the heatmap of: refugee & migrant
Use a logarithmic scale colormap: false
Manually set a maximal value for your heatmap(s): false
Choose a period length for a dynamic profiling of the projected entity: None
Advanced options if you are tagging clusters: false
Network analysis advanced settings: false
And the final few lines before the error:

2021-03-16 17:32:50 INFO : After filtering, the network (period:242_246) has 407 nodes and 5158 edges.
2021-03-16 17:32:50 INFO : Drawing map for period: 242_246
2021-03-16 17:32:54 INFO : After filtering, the network (period:247_251) has 373 nodes and 5014 edges.
2021-03-16 17:32:54 INFO : Drawing map for period: 247_251
2021-03-16 17:33:08 INFO : Adding 3rd dimension
2021-03-16 17:33:08 INFO : Computing the heatmap

And the debug log:

Debug Log:
2021-03-16 17:28:09 - findfont: Matching :family=DejaVu Sans:style=normal:variant=normal:weight=normal:stretch=normal:size=2.00942806614 to DejaVu Sans (u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf') with score of 0.050000
2021-03-16 17:28:09 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:28:09 - findfont: Matching :family=sans-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0 to DejaVu Sans (u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf') with score of 0.050000
2021-03-16 17:28:09 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:28:09 - Writing TrueType font.
2021-03-16 17:28:10 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:28:11 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:28:11 - Writing TrueType font.
2021-03-16 17:31:02 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:31:03 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:31:03 - Writing TrueType font.
2021-03-16 17:31:03 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:31:04 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:31:04 - Writing TrueType font.
2021-03-16 17:31:11 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:31:12 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:31:12 - Writing TrueType font.
2021-03-16 17:31:13 - Assigning font /F1 = u'/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'
2021-03-16 17:31:14 - Embedding font /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.
2021-03-16 17:31:14 - Writing TrueType font.

Any suggestions as to what I am doing wrong would be greatly appreciated, thank you so much!
aleabdo Staff replied 3 years ago


There is nothing useful in these logs. Did you omit the error when copy-pasting them?

If that’s all there is, you may add me to your project so I can take a better look. My user is Ale Abdo:


brandonwg replied 3 years ago

I think I’ve done it now. Thanks!

1 Answers
aleabdo Staff answered 3 years ago

You seem to be asking for:

Value of the field you wish to plot the heatmap of: refugee & migrant

When the value found in the data field “ISItermsiom_news_ref_mig” is spelled:

refugee and migrant

It may not be the only issue, but try the correct value and let me know if it works.

brandonwg replied 3 years ago

I feel like an idiot, that’s done it.

Thank you so much, and sorry for wasting your time!

aleabdo Staff replied 3 years ago

Glad to know it worked!

No need to feel bad, just remember to be more attentive.

Also, CortextManager could and should have provided more useful feedback.

I’ll mark this as resolved.

brandonwg replied 3 years ago

Ale, I did not want to start a second thread so soon, but I am having another problem with producing a heatmap for a heterogeneous network, and this time I am certain it is not a spelling problem. I am getting the same error as before (it crashes when it computes the heatmap).

I have Corpus 1, from which I have extracted terms (Terms A); and Corpus 2 from which I have extracted terms (Terms B).

I can create a network of Terms A/A and A/B in Corpus 1. I have been able to apply a third variable from Corpus 1 for a heatmap in the A/A network, but not the A/B network. I have also tried to create a new project and start from scratch with the datasets, to no avail.

Any advice is warmly welcomed, and thanks in advance.

aleabdo Staff replied 3 years ago

Did you try lower case “iom”? I ask because that is the value in the database.

brandonwg replied 3 years ago

I have, yes. The most recent map in the project returns the same error.

aleabdo Staff replied 3 years ago

So, this is actually a different error now. It doesn’t show in the user log, but in the system log I can see that it happens earlier in the script.

I suspect this is happening because you’re asking for a heatmap where the variable has only a single value and that value is present in every record, and the script assumes this is not the case. (If so, this is an issue with the script, as it should be able to handle that gracefully, but it doesn’t right now.)

OBS: You could test with the same overall parameters but with a heatmap over another variable that has some variability, to see if it works.

But perhaps the good question, if I’ve properly understood the situation, is: why do you want to plot a heatmap for a variable that is the only variable present on every record? What do you expect would be the output if there is not “heat” to be placed?

brandonwg replied 3 years ago

Maybe I could explain what it is that I am trying to do? Because my intention is essentially to use a heatmap where there is an “either/or” option between IOM and UNHCR. So I guess why would the script only find one value in the “author” variable column when there are two?

From Corpus A, one of the columns is the ‘author’ with one of two choices, either IOM or UNHCR, in a roughly 50/50 split. I have extracted Terms A from this corpus. When I create a homogeneous network of Terms A/A, I can create a heatmap (chi2-dir) with IOM.

However when I try a heterogeneous map with Terms A and Terms B (extracted from another corpus) I cannot then overlay a heatmap asking for the same variable.

aleabdo Staff replied 3 years ago

The “author” column in your corpus “unhcr-iom-media” only contains the term “IOM” on every record. In this new project you invited me to, the term is indeed capitalized. There is no record with author “UNHCR”.

brandonwg replied 3 years ago

I am sorry, I just do not understand. I really am not trying to be difficult, this is just for my thesis and I have created networks in the past, just as I am trying to now, but unfortunately I deleted them assuming I would be able to use this wonderful program again (all sincerity).

If UNHCR is not present in this corpus, then why does UNHCR show up in the corpus explorer, in the column titles “author”?

Why can I create a heterogeneous network using “author” as a field for nodes?

Why am I able to create a heatmap using “author” UNHCR and IOM, when that network is homogeneous?

aleabdo Staff replied 3 years ago

Ni! No need to excuse yourself, I wasn’t blaming you, just raising possibilities.

Indeed, I did not have a lot of time so I missed the fact that the second author was all clustered at the end of the data. Thanks for calling my attention.

Anyway, in this case I’m not sure why this ain’t working. We’ll need some time to look at what’s going on in more detail. Hope this won’t pose a huge problem for you.

Cheers .~´