1

我试图将图例置于美国的等值线图下方(类似于我创建的通用地图的示例)。我对 JS 或 CSS 不是很熟悉,但我在目录中的datamaps.all.min.js文件中四处R-3.2.1\library\rMaps\libraries\datamaps\js寻找,希望能够找到图例的标签及其默认值。我找到了这个:

.datamaps-legend dt, .datamaps-legend dd { 
  float: left; 
  margin: 0 3px 0 0;

} .datamaps-legend dd {
  width: 20px; 
  margin-right: 6px; 
  border-radius: 3px;

} .datamaps-legend {
  padding-bottom: 20px; 
  z-index: 1001; 
  position: absolute; 
  left: 4px; 
  font-size: 12px; 
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;

}

我将其更改为此并将其包含在我的header.html文件中:

.datamaps-legend dt, .datamaps-legend dd { 
  float: left; 
  margin: 0 3px 0 0;

} .datamaps-legend dd {
  width: 20px; 
  margin-right: 6px; 
  border-radius: 3px;

} .datamaps-legend {
  padding-bottom: 20px; 
  z-index: 1001; 
  position: absolute; 
  left: 40px; 
  font-size: 10px; 
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;

}

这些更改似乎是错误的或无效的,可能是因为有一些其他.css文件优先于这些说明。目前,地图的相关部分如下所示:

在此处输入图像描述

问题包括1) 对我来说似乎是对文本编辑的莫名其妙的粗体和斜体处理:在我的 文件中修复了该问题.css和 2) 虽然"position: absolute",图形流向下表。

4

2 回答 2

2

您应该能够添加一些 CSS 来覆盖默认样式,如下所示:

.datamaps-legend {
  position: static;
}

.datamaps-legend dl {
  text-align: center;
  display: inline-block;
}
于 2015-08-06T15:50:21.140 回答
0

所以我最终按照@markmarkoh的建议,修改了chart.html位于其中的模板脚本~\R-3.2.1\library\rCharts\libraries\datamaps\layouts并将其最末端从

<style>
.datamaps {
  position: relative;
}
</style>

<style>
.datamaps {
  position: relative;
  display: inline-block;
  text-align: center;
}
.datamaps-legend {
  position: static;
}

.datamaps-legend dl {
  text-align: center;
  display: inline-block;
}
</style>

然后将修改后的副本保存到我的工作目录并更改图形的模板位置,如下所示:

map1$setTemplate(script = 'chart.html')
于 2015-08-06T16:19:16.710 回答