I'm going to program a customized phone keyboard where some letters are larger than others, depending on how often I misstype them. For example, if I often pressed "w" instead of "e", I'd make the "e" button take up some of the space of the "w" button:

Example of keyboard (screenshot from here)

In order to figure out how often I make specific typos, I'll need to collect data and store it in some kind of graphic organizer to help me visualize it. Right now, I'm thinking of something like a cluster map. Does that sound like a good plan, or do you have any other suggestions?

Here's an example cluster map (from Microsoft PowerBI). Instead of pictures, they would say things like "KI", to show how often I type "K" instead of "I", and the circle would be larger or smaller depending on how often I make this mistake: Cluster map



1 Answer 1


First, I think you'll need to measure when you've made a typing mistake. For example, you might log each key press and then in an analysis after, look at when you press the backspace key. If you press it only once, you might consider the key you pressed to be incorrect and the one you type after to be the correct key.

This supplies you with a truth value. It would be difficult to measure anything if you don't know what would ideally happen.

In terms of visualizing this, I would opt for a confusion matrix. There are some nice visuals provided by Seaborn, but it might look like what's in this SO answer. As you can see, each letter has a high value for itself, and maybe a couple mistakes for other letters. Looking at this plot, you might say "F" is often typed when "E" is desired. The y-axis would be the letter you intended to type, the x-axis might be the letter you actually typed. This could help you see which letters are frequently mistyped. Additionally, it would be intuitive to compute ratios off of this.

If you're not interested in which keys are mistyped as other keys, you could easily do a bar chart of key frequencies. Or a bar chart where each x-tick is a letter with proportion typed (in)correctly.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.