2

我尝试绘制德国所有省份以及 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)
4

2 回答 2

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'
  });
}
于 2013-06-26T14:45:10.680 回答
1

我认为您用于各州的名称和缩写是正确的(请参阅此 wiki 页面

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

当我更改 Thüringen 和 Baden-Württemberg 的名称,省略变音符号时,您的问题被复制,在图中省略了它们的数据。

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

我一直无法找出确切的问题是什么。也许 gis.stackexchange 的人们对这个问题有更多的了解?

于 2013-06-26T11:15:19.717 回答