web-dev-qa-db-ja.com

ユーザーポイントと分類用語の円グラフを作成する方法は?

Taxonomy > User Pointsには3つの用語があります:ArticlesCommentsお気に入り。ユーザーのアクションに基づいて、これらのカテゴリのいずれかにユーザーポイントを付与するルールをいくつか作成しました。これまでのところ、すべてが正常に動作します。

ここで、プロファイルページのカテゴリごとのユーザーポイントの円グラフを作成します。たとえば、そのような円グラフは次のようになります。

Pie chart

どうすればこれを達成できますか?


編集:ユーザーポイント7.x-1.0を使用しています。

2
Jeroen

Drupalには グラフモジュール がいくつかあります。

charts module を使用した場合、ビュー統合があり、ユーザーポイントモジュールを使用していて、そのユーザーポイントにビュー統合があると仮定すると、用語でグループ化されたアイテムでビューを作成できるはずです。グラフとして表示します。

更新

上記のように環境をレプリケートし、userpointsモジュールを7.x-1.x(dev)に更新し、チャートモジュールをインストールし(そしてテストするGoogleチャートモジュールを含め)、ユーザーにコンテキストフィルターを使用してユーザーポイントのビューを構築すると、チャートは完全に機能します。質問してくれてありがとう。突然、似たようなグラフィックインセンティブを使える場所がたくさんあると思いました。

これがエクスポートされたビューです。この例では、分類用語の記事、ページ、コメントを使用しています。

$view = new view();
$view->name = 'points_chart_userpoints';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'userpoints';
$view->human_name = 'points_chart_userpoints';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

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

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

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

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