小编mat*_*ier的帖子

在循环中的ggplot中生成一致的动态调色板?

我有一个名为d1的数据集类似于:

location, depth.from, depth.to, val, type 
Run Code Online (Sandbox Code Playgroud)

我有一个循环,为每个独特的位置创建一个相当复杂的绘图(它将许多东西粘在一起使用grid.arrange,这就是为什么我不能facet_wrap在该位置使用以保持图的一部分的图例/颜色一致).

假设"类型"有4个类别,当一个位置具有不同数量的"类型"而不是另一个位置时,所分配的颜色在每个图之间不一致.我可以手动强制它们是相同的,但我试图概括这个功能.谷歌让我失望了.

对于以下块,d1是基于位置类型的数据的子集,例如

d1 <- subset(myData, location == location.list[i])
Run Code Online (Sandbox Code Playgroud)

看一下循环内的情节:

p1 <- ggplot(data = d1, aes (y=val, x=depth.from))+
layer(geom = "point", size = 2) + 
geom_rect(data=d1, aes(xmin=Depth.to, xmax=Depth.from, ymin=0, ymax=100, fill = type), linetype =0, alpha=0.3)+
scale_fill_brewer(palette="Set1")
Run Code Online (Sandbox Code Playgroud)

geom_rect命令将通过数据并基于深度和深度来创建基于填充类型的叠加.我可以使用scale_fill_manual("Lith", c("Val1" = "DodgerBlue4"...)etc来手动设置它,但这会破坏目的.如果我有:类型喜欢我想要的东西:

Bird_one = blue
Bird_two = red
Bird_three = green
Run Code Online (Sandbox Code Playgroud)

我想bird_three成为绿色,即使bird_two不存在,也不必明确地使用它scale_fill_manual.有没有办法为调色板设置全局名称列表?也许通过以下方式提供数组:

myData <- read.csv("mydata.csv" 
typeList <- unique(myData$type)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

8
推荐指数
2
解决办法
2512
查看次数

VUE.JS将数据传递给D3 - 做得对吗?

玩vue.js 0.12.寻找将数据绑定到d3的最佳方法.在示例中[材料]最终保持参数以生成数据D3图,其使用D3绘制为不同的系列.我使用vue来管理用于生成数据的参数的输入/删除/编辑,并将这些参数传递给生成数据的函数,然后调用D3在指定的标签上绘图.

这有效.我只是不知道我做得对.目前我正在做以下事情:

var test = new Vue({
  el: '#materials',

  data: {
    materials: [],
  },


  ready: function() {
    this.$watch("materials", function(value) {

      // do some parsing and pass to D3

      rock.test(JSON.parse(JSON.stringify(this.materials)));
      }

    });
  },

// rest of vue commands 

////////////////////////////////////////////////

// D3 plotting

(function(exports) {

// all my D3 code for handling the passed object from vue 
// exports.test takes the parameters passed from vue, converts them into 
// the data I want to plot, and calls D3 to plot multiple …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js vue.js

3
推荐指数
1
解决办法
6011
查看次数

标签 统计

d3.js ×1

ggplot2 ×1

javascript ×1

r ×1

vue.js ×1