Design of Visualizations for Human-Information Interaction: A Pattern-Based Framework