我正在尝试使用 R 包树图创建树图,类似于包中的示例中的树图。
library(treemap)
data(GNI2010)
treemap(GNI2010,
index=c("iso3"),
vSize="population",
vColor="GNI",
type="value")
Run Code Online (Sandbox Code Playgroud)
有什么方法可以从列中添加额外的标签以显示“CHN,13.5 亿,20%”
我有一张地图,其键是 MMMyyyy 格式,我需要根据月份进行排序。输入:
unsorted: {
"Dec2010": 1,
"Apr2010": 1,
"Feb2010": 0,
"Nov2010": 2,
"Mar2010": 0,
"Jun2010": 2,
"Sep2010": 1,
"May2010": 0,
"Oct2010": 1,
"Jul2010": 0,
"Aug2010": 0,
"Jan2010": 1
}
Run Code Online (Sandbox Code Playgroud)
排序后应该是这样的:
sorted: {
"Jan2010": 1
"Feb2010": 0,
"Mar2010": 0,
"Apr2010": 1,
"May2010": 0,
"Jun2010": 2,
"Jul2010": 0,
"Aug2010": 0,
"Sep2010": 1,
"Oct2010": 1,
"Nov2010": 2,
"Dec2010": 1,
}
Run Code Online (Sandbox Code Playgroud)
目前我正在使用树状图,它按字母顺序对其进行排序,但如何根据月份层次结构对其进行排序。
代码:
Map<String, Integer> unsorted = new HashMap<>();
unsorted.put("Dec2010", 1);
unsorted.put("Apr2010", 1);
unsorted.put("Feb2010", 0);
unsorted.put("Nov2010", 2);
unsorted.put("Mar2010", 0);
unsorted.put("Jun2010", 2);
unsorted.put("Sep2010", 1); …Run Code Online (Sandbox Code Playgroud) 实现这一点的 kotlin 方式是什么:
public static TreeMap<Integer, ArrayList<HomeItem>> getHomeItemListsSeparatedByPageId(List<HomeItem> homeItemsList) {
if (homeItemsList.size() == 0) {
return new TreeMap<>();
}
TreeMap<Integer, ArrayList<HomeItem>> map = new TreeMap<>();
for (HomeItem hl : homeItemsList) {
if (map.get(hl.getVisiblePageId()) == null) {
map.put(hl.getVisiblePageId(), new ArrayList<>());
}
map.get(hl.getVisiblePageId()).add(hl);
}
return map;
}
Run Code Online (Sandbox Code Playgroud)
我试图在我的 args 列表上应用 groupBy,但它返回一个 HashMap。
编辑:基本上,原始列表被查询,它被分组visiblePageId,并添加到一个树图中,其键是 id,值是具有该 id 的项目
我正在尝试使用 TreeMap 解决编程问题,这导致我发布了这个问题。
我定义了一个以 (Int,Int) 为键,以 String 为值的 treeMap,根据元组的第一个元素定义了 treeMap 排序。并且我插入了两个不同Key的元素,但最终的treeMap只包含一个元素。这是treeMap的定义行为吗
Scala 代码:(版本:2.12.3)
val a = scala.collection.mutable.TreeMap[(Int, Int), String]()(Ordering.by(x => x._1))
a.put((9, 21), "value-1")
a.put((9, 10), "value-2")
println(a.size) // 1
Run Code Online (Sandbox Code Playgroud)
我已经在 java 中尝试了相同的实现,但它报告 Map Size 为 2,这是我的 java 代码:
如果我遗漏了一些东西,有人可以建议吗
import java.util.Comparator;
import java.util.TreeMap;
public class JavaTreeMapTest {
public static void main(String[] args) {
class Tuple {
Integer a;
Integer b;
public Tuple(Integer a, Integer b) {
this.a = a;
this.b = b;
}
}
Comparator<Tuple> testComparator = new Comparator<Tuple>() …Run Code Online (Sandbox Code Playgroud) TreeMap<Long, Long>充满 1000 个(全部唯一)键值对的集合需要多少内存?
是的,我可以只观察内存转储,但需要详细了解原因:
Long= n 字节Entry<Long, Long > = 2n 字节,因此 1000 个条目 = 2000n 字节总计: X ?
我正在尝试直接从来自两个不同源的SortedMap两个流生成一个使用流。ArrayList我的目标是存储第二个列表中的SortedMap属性Double作为键,将第一个列表中的对象作为值(如果这些对象具有匹配的属性),该属性由辅助对象检查。
到目前为止,我可以使用以下方法完成它:
SortedMap<Double, FirstObject> myMap = new TreeMap<>(Double::compareTo);
List<FirstObject> myList = firstDao.get(someId).stream()
.filter(firstobject -> secondDao.get(firstObject.getObjectId())
.stream()
.anyMatch(secondObject -> {
if (Helper.check(secondObject).matches()) {
myMap.put(
secondObject.getEfficiency(), firstObject
);
}
return Helper.check(secondObject).matches();
}))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我用该代码生成的代码没有用处myList,但到目前为止,这是我能够填充Map.
有没有一种方法可以直接填充到SortedMap而不需要生成该列表?
我有一个树形图,其中我按升序排序元素,如0,1,2,3等.这些元素按其值排序,即0,1,2等是值.我使用比较器对它们进行排序. .我想保留这个顺序,除了我想在map的末尾放置0值的元素.怎么做?
我一直在使用R树形图包,并且有一个2级深的树形图。我希望打印第二级标签,而不是第一级。
使用手册页中的示例:
tmPlot(GNI2010,
index=c("continent", "iso3"),
vSize="population",
vColor="GNI",
type="value")
Run Code Online (Sandbox Code Playgroud)
树状图示例http://www.eecs.tufts.edu/~rveroy/stuff/GNI2010-treemap.png
我想摆脱大陆标签,但保留iso3标签。如果在文档中,但尚未找到,我谨此致歉。
我需要TreeMap<Integer, T> map从头到尾迭代一遍.怎么办?
我在下面的帖子主题中尝试了与答案相同的内容:
new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.intValue() - o1.intValue();
}
}
Run Code Online (Sandbox Code Playgroud)
但这不是一个解决方案,只是扭转了秩序.
我创建了用户定义的Map ie
Map<String, Object[]> pass = new TreeMap<String, Object[]>();
Run Code Online (Sandbox Code Playgroud)
我在这里为循环添加数据,如下所示.
int row = 0;
row++;
pass.put(row + "", new Object[] {"Data 1 : ","A"});
row++;
pass.put(row + "", new Object[] {"Data 2:", "B"});
row++;
pass.put(row + "", new Object[] {"Data 3:", "C"});
row++;
pass.put(row + "", new Object[] {"Data 4:", "D"});
Run Code Online (Sandbox Code Playgroud)
但是这些数据与添加的订单不同.Map以随机顺序存储这些数据.但我希望这些数据有序.需要做什么?