How to create a pie chart of user points and taxonomy terms? I have 3 terms in Taxonomy &gt; User Points: Articles, Comments and Favorites. I created some rules to grant user points of one of these categories, based upon the users' actions. So far, everything works fine.

Now, I'd like to create a pie chart of the user points per category for the profile pages. For example, such a pie chart might look like this:

 

How can I achieve this?



Edit: I'm working with User Points 7.x-1.0.
There are a number of chart modules for drupal.
If you used the charts module, it has views integration, so assuming you are using the user points module, and that user points has view integration, you should be able to create a view with items grouped by term and display as a chart.
Update
Replicated your environment as above, updated the userpoints module to 7.x-1.x (dev), installed charts module (and included google charts module to test), constructed view of userpoints with contextual filter on user and the chart  works perfectly! Thanks for asking the question, I have suddenly thought of loads of places I could use similar graphic incentives.
Here is the exported view - in this example it uses taxonomy terms article, page and comments:
$view = new view();
$view-&gt;name = 'points_chart_userpoints';
$view-&gt;description = '';
$view-&gt;tag = 'default';
$view-&gt;base_table = 'userpoints';
$view-&gt;human_name = 'points_chart_userpoints';
$view-&gt;core = 7;
$view-&gt;api_version = '3.0';
$view-&gt;disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view-&gt;new_display('default', 'Master', 'default');
$handler-&gt;display-&gt;display_options['title'] = 'userpoints table block';
$handler-&gt;display-&gt;display_options['use_more_always'] = FALSE;
$handler-&gt;display-&gt;display_options['access']['type'] = 'none';
$handler-&gt;display-&gt;display_options['cache']['type'] = 'none';
$handler-&gt;display-&gt;display_options['query']['type'] = 'views_query';
$handler-&gt;display-&gt;display_options['exposed_form']['type'] = 'basic';
$handler-&gt;display-&gt;display_options['pager']['type'] = 'none';
$handler-&gt;display-&gt;display_options['pager']['options']['offset'] = '0';
$handler-&gt;display-&gt;display_options['style_plugin'] = 'chart';
$handler-&gt;display-&gt;display_options['style_options']['library'] = '';
$handler-&gt;display-&gt;display_options['style_options']['label_field'] = 'tid';
$handler-&gt;display-&gt;display_options['style_options']['data_fields'] = array(
  'points' =&gt; 'points',
  'tid' =&gt; 'tid',
);
$handler-&gt;display-&gt;display_options['style_options']['field_colors'] = array(
  'points' =&gt; '#2f7ed8',
  'tid' =&gt; '#0d233a',
);
$handler-&gt;display-&gt;display_options['style_options']['width'] = '';
$handler-&gt;display-&gt;display_options['style_options']['height'] = '';
$handler-&gt;display-&gt;display_options['style_options']['xaxis_labels_rotation'] = '0';
$handler-&gt;display-&gt;display_options['style_options']['yaxis_labels_rotation'] = '0';
/* No results behavior: Global: Text area */
$handler-&gt;display-&gt;display_options['empty']['area']['id'] = 'area';
$handler-&gt;display-&gt;display_options['empty']['area']['table'] = 'views';
$handler-&gt;display-&gt;display_options['empty']['area']['field'] = 'area';
$handler-&gt;display-&gt;display_options['empty']['area']['label'] = 'no points';
$handler-&gt;display-&gt;display_options['empty']['area']['empty'] = TRUE;
$handler-&gt;display-&gt;display_options['empty']['area']['content'] = 'no points found';
$handler-&gt;display-&gt;display_options['empty']['area']['format'] = 'filtered_html';
/* Relationship: Userpoints: User */
$handler-&gt;display-&gt;display_options['relationships']['uid']['id'] = 'uid';
$handler-&gt;display-&gt;display_options['relationships']['uid']['table'] = 'userpoints';
$handler-&gt;display-&gt;display_options['relationships']['uid']['field'] = 'uid';
/* Field: Userpoints: Current points in category */
$handler-&gt;display-&gt;display_options['fields']['points']['id'] = 'points';
$handler-&gt;display-&gt;display_options['fields']['points']['table'] = 'userpoints';
$handler-&gt;display-&gt;display_options['fields']['points']['field'] = 'points';
/* Field: Userpoints: Points category */
$handler-&gt;display-&gt;display_options['fields']['tid']['id'] = 'tid';
$handler-&gt;display-&gt;display_options['fields']['tid']['table'] = 'userpoints';
$handler-&gt;display-&gt;display_options['fields']['tid']['field'] = 'tid';
/* Contextual filter: User: Uid */
$handler-&gt;display-&gt;display_options['arguments']['uid']['id'] = 'uid';
$handler-&gt;display-&gt;display_options['arguments']['uid']['table'] = 'users';
$handler-&gt;display-&gt;display_options['arguments']['uid']['field'] = 'uid';
$handler-&gt;display-&gt;display_options['arguments']['uid']['relationship'] = 'uid';
$handler-&gt;display-&gt;display_options['arguments']['uid']['default_action'] = 'default';
$handler-&gt;display-&gt;display_options['arguments']['uid']['default_argument_type'] = 'user';
$handler-&gt;display-&gt;display_options['arguments']['uid']['default_argument_options']['user'] = FALSE;
$handler-&gt;display-&gt;display_options['arguments']['uid']['summary']['number_of_records'] = '0';
$handler-&gt;display-&gt;display_options['arguments']['uid']['summary']['format'] = 'default_summary';
$handler-&gt;display-&gt;display_options['arguments']['uid']['summary_options']['items_per_page'] = '25';

/* Display: Chart (block) */
$handler = $view-&gt;new_display('block', 'Chart (block)', 'block');

/* Display: Table (block) */
$handler = $view-&gt;new_display('block', 'Table (block)', 'block_1');
$handler-&gt;display-&gt;display_options['defaults']['style_plugin'] = FALSE;
$handler-&gt;display-&gt;display_options['style_plugin'] = 'table';
$handler-&gt;display-&gt;display_options['style_options']['columns'] = array(
  'points' =&gt; 'points',
  'tid' =&gt; 'tid',
);
$handler-&gt;display-&gt;display_options['style_options']['default'] = '-1';
$handler-&gt;display-&gt;display_options['style_options']['info'] = array(
  'points' =&gt; array(
    'sortable' =&gt; 0,
    'default_sort_order' =&gt; 'asc',
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
  'tid' =&gt; array(
    'align' =&gt; '',
    'separator' =&gt; '',
    'empty_column' =&gt; 0,
  ),
);
$handler-&gt;display-&gt;display_options['defaults']['style_options'] = FALSE;
$handler-&gt;display-&gt;display_options['defaults']['row_plugin'] = FALSE;
$handler-&gt;display-&gt;display_options['defaults']['row_options'] = FALSE;

/* Display: Page */
$handler = $view-&gt;new_display('page', 'Page', 'page_1');
$handler-&gt;display-&gt;display_options['path'] = 'userpoints/chart';