我正在寻找一种创建自定义热图的简单方法(在Python、R或Tableau中)。因为我需要颜色,我想不出如何使颜色个性化。在
基本上,我有一个.tsv文件,其中包含特性和它们的排名。例如,在同一个文件中,排名从1到10,从-1到-10。在
我要把零换成白色。然后,1和-1的颜色变暗,然后变亮。例如,我需要用深红色代表1,浅红色代表10,然后是深蓝色代表-1,浅蓝色代表-10。在
你知道我怎么得到这个结果吗?在
编辑: 我的数据是这样的:
structure(list(Features = structure(c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 11L, 12L, 9L, 10L, 13L, 14L, 15L, 16L, 17L, 18L, 19L,
20L, 21L), .Label = c("char_per_tok", "cpos_dist_AUX", "cpos_dist_NUM",
"dep_dist_aux", "dep_dist_nummod", "dep_freq_aux", "dep_freq_nmod",
"dep_freq_nummod", "in_dict", "in_dict_types", "in_FO", "in_FO_types",
"itwac_forme", "itwac_lemmi", "n_prepositional_chains", "prep_dist_3",
"prep_freq_1", "prep_freq_3", "subj_post", "verb_edges_dist_7",
"verb_edges_freq_7"), class = "factor"), A10 = c(1L, -14L, -6L,
-8L, -5L, -7L, 3L, -3L, -1L, -11L, -2L, -4L, 0L, 59L, 4L, -9L,
2L, -10L, 0L, -13L, -12L), A11 = c(3L, -14L, -6L, -8L, -5L, -7L,
4L, -4L, -1L, -11L, -2L, -3L, 1L, 2L, 0L, -9L, 5L, -10L, 0L,
-13L, -12L), A12 = c(3L, 0L, -3L, -5L, -2L, -4L, 0L, -1L, 0L,
0L, 0L, 0L, 1L, 2L, 0L, -6L, 0L, -7L, 0L, -9L, -8L), A13 = c(3L,
0L, -3L, 0L, -2L, 0L, 0L, -1L, 0L, 0L, 0L, 0L, 1L, 2L, 0L, -4L,
0L, -5L, 0L, 0L, 0L), A14 = c(1L, 0L, -3L, 0L, -2L, 0L, 0L, -1L,
0L, 0L, 0L, 0L, 0L, 2L, 0L, -4L, 0L, -5L, 0L, 0L, 0L), A15 = c(2L,
0L, -3L, 0L, -2L, 0L, 0L, -1L, 0L, 0L, 0L, 0L, 1L, 3L, 0L, 0L,
0L, 0L, 0L, 0L, 0L), A16 = c(0L, 0L, -4L, -5L, -1L, 0L, 0L, -2L,
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, -3L, 0L, 0L)), .Names = c("Features",
"A10", "A11", "A12", "A13", "A14", "A15", "A16"), class = "data.frame", row.names = c(NA,
-21L))
在R中,可以使用
scales
包来生成颜色值。在要生成颜色,请使用
gradient_n_pal
。为负值选择所需的颜色,为正值选择颜色,然后在它们之间放置"white"
。seq(0, 1, length.out = 21)
创建一个长度为21的向量来设置衰落。在这个简单的条形图显示了结果
^{pr2}$在R中,您可以使用
ggplot2
库,geom_tile
指定打印的内容,scale_fill_gradientn
指定颜色。下面是一个例子:编辑:使用提供的数据(我将其导入到对象
^{pr2}$z
)要在表格中创建颜色图表:如果您想要每个等级的单独颜色,只需将[Ranking]维度拖动到color。如果您想要带状输出,您可以创建一个颜色键计算字段,首先通过创建一个新的计算字段为每个排名分配一个值,如:
将此字段拖动到颜色,您可以对其应用您选择的口味。在
这是一种写计算字段的稍微冗长的方法,根据排名字段的格式,您可以使用
between
数字带代替,但是这样写可以清楚地看到每个分数的情况。在相关问题 更多 >
编程相关推荐