所以这应该非常简单,因为我知道它是可能的(我只是不太了解'Set').
所以基本上有这个TreeMap,我们称之为aTree.所以我需要做一些事情:
somethingHereProbably = aTree.keySet();
somethingHereProbably.toStringArray();
Run Code Online (Sandbox Code Playgroud) 给定一个标准的嵌套圆形树图,你如何计算圆圈的放置位置?
我正在使用R和'portfolio'库来构建树形图.比例默认为'-1000到1000'.
例如,我需要它为'0到1000'.我知道map.market()有一个'scale'参数,但我无法弄清楚要传递给它的内容.
我有以下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) 从以下代码中,我了解到,不需要为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) 我有一个类似下面的集合,当前存储为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) 我最近从https://www.kaggle.com/philippsp/exploratory-analysis-instacart看到了这张树状图(两级层次结构,彩色,方形树状图)。

它是用 R 制作的,通过:
treemap(tmp,index=c("department","aisle"),vSize="n",title="",
palette="Set3",border.col="#FFFFFF")
Run Code Online (Sandbox Code Playgroud)
我想知道如何在 Python 中制作这个图?
我搜索了一下,但没有找到任何多级树状图示例。
我正在尝试使用 highcharter-package 在 R 中生成交互式树形图(顺便说一句,我喜欢这个包)。它应该看起来像这样(我什至不需要不同的级别)
示例代码:
df <- data.frame(name = c("john", "jane", "herbert", "peter"),
bananas = c(10, 14, 6, 3))
hctreemap2(df,
group_vars = "name",
size_var = "bananas")
Run Code Online (Sandbox Code Playgroud)
我不希望盒子有渐变颜色,而是不同的颜色,比如红色、黄色、绿色和蓝色。我对 highcharts-API 的理解越来越深入,并将其“翻译”为 R 代码,但这确实让我很困难。
我已经找到了解决方法,但我正在寻找更好的解决方案,因为 hc_add_series_treemap 已被弃用。
p <- treemap(df,
index="name",
vSize="bananas",
type="index")
highchart() %>%
hc_add_series_treemap(p,
layoutAlgorithm = "squarified")
Run Code Online (Sandbox Code Playgroud)
所以感谢您的帮助:)
我有一个TreeMap<Date, Integer>,我想从该地图中获取第n个项目。我现在想到的是:
((Integer)myTreeMap.values().toArray()[index]).intValue();
Run Code Online (Sandbox Code Playgroud)
但这感觉很笨重,更不用说堆上或性能上发生了什么?
有没有一种简洁的方法可以从/获取第n项?TreeMapSortedMap
我正在使用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)