并非所有省份都显示在gvisGeoChart中

时间:2013-06-26 08:15:14

标签: r googlevis

我尝试绘制德国所有省份以及googlevis gvisGeoChart中的一些数据。

然而,并非所有省份都显示出来:图林根州,巴登 - 符腾堡州和勃兰登堡州都失踪了。我这是连接到其中两个包含的变音符号。但是切换到英文名称或用“u”替换“ü”不起作用。

所以我的问题:是否有所有省份名称的来源。

bundeslander <-
structure(list(state.name = structure(1:16, .Label = c("Baden-Württemberg", 
"Bayern", "Berlin", "Brandenburg", "Bremen", "Hamburg", "Hessen", 
"Mecklenburg-Vorpommern", "Niedersachsen", "Nordrhein-Westfalen", 
"Rheinland-Pfalz", "Saarland", "Sachsen", "Sachsen-Anhalt", "Schleswig-Holstein", 
"Thüringen"), class = "factor"), abbrev = structure(c(3L, 4L, 
2L, 1L, 5L, 7L, 6L, 8L, 9L, 10L, 11L, 13L, 14L, 15L, 12L, 16L
), .Label = c("(BB)", "(BE)", "(BW)", "(BY)", "(HB)", "(HE)", 
"(HH)", "(MV)", "(NI)", "(NW)", "(RP)", "(SH)", "(SL)", "(SN)", 
"(ST)", "(TH)"), class = "factor"), Share = c(12.1, 
9.9, 14.1, 2.8, 12.7, 13.8, 11.5, 2.5, 6.9, 10.7, 7.9, 8.7, 2.9, 
1.9, 5.3, 2.3)), .Names = c("state.name", "abbrev", "Share"
), class = "data.frame", row.names = c(NA, -16L))

G3 <- gvisGeoChart(bundeslander, "state.name", "Share",
options=list(region="DE", displayMode="regions", resolution="provinces",
width=600, height=400))
plot(G3)

2 个答案:

答案 0 :(得分:3)

您的代码是正确的(即使我无法确定您正在使用的语言或它与GeoChart的确切关系)。这里发生的是我们的地理编码缓存不同步,需要刷新。我们目前正在重建我们的地理数据生成,所以这应该很快就会发生,但我还没有确切的估计。

同时,您可以将缩写用作ISO代码,并以这种方式呈现省份。这是一个jsfiddle:http://jsfiddle.net/Uwpjg/

function drawVisualization() {
  // Create and populate the data table.
  var data = google.visualization.arrayToDataTable([
    ['Code', 'Location', 'Value'],
    ['DE-BW', 'Baden-Württemberg', 10],
    ['DE-BY', 'Bayern', 10],
    ['DE-BE', 'Berlin', 10],
    ['DE-BB', 'Brandenburg', 10],
    ['DE-HB', 'Bremen', 10],
    ['DE-HH', 'Hamburg', 10],
    ['DE-HE', 'Hessen', 10],
    ['DE-MV', 'Mecklenburg-Vorpommern', 10],
    ['DE-NI', 'Niedersachsen', 10],
    ['DE-NW', 'Nordrhein-Westfalen', 10],
    ['DE-RP', 'Rheinland-Pfalz', 10],
    ['DE-SL', 'Saarland', 10],
    ['DE-SN', 'Sachsen', 10],
    ['DE-ST', 'Sachsen-Anhalt', 10],
    ['DE-SH', 'Schleswig-Holstein', 10],
    ['DE-TH', 'Thüringen', 10],
  ]);

  // Create and draw the visualization.
  new google.visualization.GeoChart(document.getElementById('visualization')).
  draw(data, {
      width:600,
      height:400,
      region: 'DE',
      resolution: 'provinces'
  });
}

答案 1 :(得分:1)

我认为您用于状态的名称和缩写是正确的(请参阅this wiki-page

使用您的代码我能够绘制除勃兰登堡以外的所有数据,原因不明。

当我更改Thüringen和Baden-Württemberg的名字而忽略了变音符号时,你的问题就会被复制,从而将他们的数据留在情节中。

奇怪的是,当我将显示模式从“区域”更改为“标记”时,所有数据都会显示,包括勃兰登堡。

我无法找出确切的问题。 也许gis.stackexchange的人对此问题有更深入的了解?