标签: treemap

5
推荐指数
1
解决办法
768
查看次数

如何在R中调整/控制树形图中的比例(使用"投资组合"库)?

我正在使用R和'portfolio'库来构建树形图.比例默认为'-1000到1000'.

例如,我需要它为'0到1000'.我知道map.market()有一个'scale'参数,但我无法弄清楚要传递给它的内容.

portfolio r treemap

5
推荐指数
1
解决办法
1633
查看次数

Java的.按值排序地图

可能重复:
如何在Java中的值上对Map <Key,Value>进行排序?

我需要像TreeMap一样排序的地图,但按值排序.我的地图将是巨大的,所以我不能随时对我的地图进行排序.是否存在解决此问题的好方案?也许存在符合此要求的外部罐子?

java treemap sortedmap

5
推荐指数
1
解决办法
8233
查看次数

树形图使用compareTo代替containsKey()的equals

我尝试使用的containsKey方法TreeMap,但是以某种方式我遇到了问题。

存储在树形图中的对象的定义与equals()不会产生相同的结果compareTo()。这是有意的。

但是,的文档java.util.Map说:

如果此映射包含指定键的映射,则返回true。更正式地说,当且仅当此映射包含键k的映射(例如)时,才返回true (key==null ? k==null : key.equals(k))。(最多可以有一个这样的映射。)

因此,我尝试了以下操作:

c = someModifiedObject();
boolean t1 = sm.containsKey(c);
someObject c2 = new someObject();
boolean t2 = sm.containsKey(c2);
boolean t3 = c.equals(new Chain());
int t4 = c.compareTo(new Chain());
Run Code Online (Sandbox Code Playgroud)

t1为true,因为对象位于树形图中。t3为true,因为t1等于t3(对于更改equals()运算符而言)t4为false,但是,t2也为false。似乎TreeMap使用compareTo()而不是equals()确定对象是否存在。

是否有排序映射的另一种实现,可以equals()用来检查对象是否存在?

java equals treemap compareto

5
推荐指数
1
解决办法
3489
查看次数

删除小于x的TreeMap条目

我有以下TreeMap:

private Map<Date,WeekSchedule> weeks = new TreeMap<Date,WeekSchedule>();
Run Code Online (Sandbox Code Playgroud)

我需要删除所有条目,其日期在给定值之前.

最有效的方法是什么?

这是我到目前为止:

public void removeWeeksBefore(Date monDate){
    for (Map.Entry<Date, WeekSchedule> entry : weeks.entrySet()){
        if(entry.getKey().before(monDate)){
            weeks.remove(entry.getKey());   //This will destroy the iterator
        }else{
            return;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java map treemap

5
推荐指数
1
解决办法
2016
查看次数

Eclipse TreeMap调试视图

我正在尝试查看集合中的项目,但似乎Eclipse会一遍又一遍地循环: 在此处输入图片说明

如何查看TreeMap集合中的各个项目?

eclipse debugging treemap

5
推荐指数
1
解决办法
537
查看次数

在TreeSet和TreeMap中使用hashCode()和equals()

从以下代码中,我了解到,不需要为TreeSet和TreeMap重写equals()和hashCode()方法,既不需要排序也不需要搜索.

public class ComparableTest implements Comparable<ComparableTest> {

    private String username;

    public ComparableTest(String name) {
        this.username = name;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int compareTo(ComparableTest o) {
        return username.compareTo(o.getUsername());
    }

    @Override
    public String toString() {
        return this.getUsername();
    }

    @SuppressWarnings("unchecked")
    public static void main(String[] args) {

        ArrayList<ComparableTest> comparableTestsList = new ArrayList<ComparableTest>();
        ArrayList<ComparableTest> comparableTestsList2;

        comparableTestsList.add(new ComparableTest("Second Name"));
        comparableTestsList.add(new ComparableTest("First name"));
        System.out.println("Orignal Array List  = " + comparableTestsList);

        // making a …
Run Code Online (Sandbox Code Playgroud)

java treemap treeset

5
推荐指数
1
解决办法
8175
查看次数

通过每个月的最大值过滤日期的TreeMap

我有一个类似下面的集合,当前存储为TreeMap。请注意,每个月都有多个条目。如何使用Java 8流按每个月的最大值过滤此值?

date=value
2010-01-01=2100.00, 
2010-01-02=2108.74, 
2010-02-01=2208.74, 
2010-02-02=2217.92, 
2010-03-01=2317.92, 
2010-03-02=2327.57, 
2010-04-01=2427.57, 
2010-04-02=2437.67, 
2010-05-01=2537.67, 
2010-05-02=2548.22, 
2010-06-01=2648.22, 
2010-06-02=2659.24, 
2010-07-01=2759.24, 
2010-07-02=2770.72, 
2010-08-01=2870.72, 
2010-08-02=2882.66, 
2010-09-01=2982.66, 
2010-09-02=2995.07, 
2010-10-01=3095.07, 
2010-10-02=3107.94, 
2010-11-01=3207.94, 
2010-11-02=3221.29
Run Code Online (Sandbox Code Playgroud)

java treemap java-8 java-stream

5
推荐指数
1
解决办法
1128
查看次数

如何从 TreeMap 中获取第 n 项?

我有一个TreeMap<Date, Integer>,我想从该地图中获取第n个项目。我现在想到的是:

((Integer)myTreeMap.values().toArray()[index]).intValue();
Run Code Online (Sandbox Code Playgroud)

但这感觉很笨重,更不用说堆上或性能上发生了什么?

有没有一种简洁的方法可以从/获取第n项?TreeMapSortedMap

java treemap sortedmap

5
推荐指数
1
解决办法
5487
查看次数

Plotly:将自定义文本添加到 px.Treemap 视觉对象

我正在使用plotlyexpress 来制作树形图。我想用标签以及父级的百分比和色阶中使用的值来注释我的数据扇区。

如何添加注释来显示color树形图参数中使用的实际值?在下面的示例代码中,我想为每个部门注释“薪水”。我还想添加一些额外的文字来描述每个部门的数字。例如,“总计百分比:”附加到百分比值以获取更多文本描述将非常适合帮助对树形图进行更多注释。任何添加自定义文本的方法都是有益的。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px

d = {'count': [1,1,1,2,2,3,3,3,4], 
     'name': ['bob','bob','bob','shelby','shelby','jordan','jordan','jordan','jeff'],
     'type': ['type1','type2','type4','type1','type6','type5','type8','type2',None],
     'salary':[1000,2000,3000,10000,15000,30000,100000,50000,25000]}
df = pd.DataFrame(data=d)

# group data and aggregate
df_plot = df.groupby(['name','type'])[['salary','count']].sum().reset_index()

avg_salary = df_plot['salary'].sum()/df_plot['count'].sum()

# plot treemap
fig = px.treemap(df_plot,
                 values='count',
                 color='salary',
                 color_continuous_scale='balance',
                 color_continuous_midpoint=avg_salary,
                 path=['type','name'])
fig.data[0].textinfo = 'label+value+percent parent'
fig.show()
Run Code Online (Sandbox Code Playgroud)

python treemap pandas plotly

5
推荐指数
1
解决办法
5330
查看次数