i18n with chart.js(javascript)

时间:2015-08-19 00:50:54

标签: javascript chart.js

我用这种方式渲染chart.js图表​​。

  def show_line_chart(chart_data)    
    line_chart chart_data, {animation: false,    responsive: true,
    maintainAspectRatio: false, bezierCurve: false}
  end

它会给我这样的html,如何动态地为价格编号添加美元或日元。

<figure class="chart"><canvas id="chart-0" width="2362" height="812" style="width: 1181px; height: 406px;"></canvas></figure>

https://i.imgur.com/rR8V32E.png

1 个答案:

答案 0 :(得分:2)

我不确定问题中的代码是JavaScript还是其他可编译成JavaScript的代码。

有了这个警告,您可以使用作为选项传入的library(httr) library(tidyr) library(dplyr) library(magrittr) a <- c("first_name=James(Mr), cust_id=98503(ZZW_LG,WGE,zonaire), StartDate=2015-05-20, EndDate=2015-05-20, performance=best") a %>% gsub(",[[:space:]]+", "&", .) %>% sprintf("?%s", .) %>% parse_url() %>% extract2("query") %>% data.frame(stringsAsFactors=FALSE) %>% separate(cust_id, into=c("cust_id", "cust_notes"), sep="\\(") %>% mutate(cust_notes=gsub("\\)", "", cust_notes)) 选项设置格式。 JavaScript代码看起来像

multiTooltipTemplate

关键是您可以将函数传递给var ctx = document.getElementById("myChart").getContext("2d"); var myCurrencySymbol = 'USD' var myNewChart = new Chart(ctx).Line(data, { animation: false, responsive: true, maintainAspectRatio: false, bezierCurve: false, multiTooltipTemplate: function (d) { return d.value + ' ' + myCurrencySymbol; } }); (而不仅仅是插值字符串)

我已在这里硬编码multiTooltipTemplate,但您应该从您的语言环境服务/库中获取或根据语言环境进行设置。请注意,这假设您实际上正在服务器端进行转换(因为显然100美元&lt;&gt; 100日元)

也就是说,看起来您的myCurrencySymbol已被默认覆盖。因此,您可能希望将其搜索(Ctrl + F)并从模板中复制所需内容。

数据集名称可用作d.datasetLabel(就像当前使用的d.value一样)