ggplot: Как geom_tile вычисляет заполнение? [Дубликат]

Я считаю, что лучшим ответом, который я видел, был @MD_Sayem_Ahmed.

Ваш вопрос: «Как я могу разобрать Json с C #», но похоже, что вы хотите декодировать Json. Если вы хотите его декодировать, ответ Ахмеда хорош.

Если вы пытаетесь выполнить это в ASP.NET Web Api, самый простой способ - создать объект передачи данных, который содержит нужные вам данные для назначения:

public class MyDto{
    public string Name{get; set;}
    public string Value{get; set;}
}

Вы просто добавили заголовок приложения / json к вашему запросу (например, если вы используете Fiddler). Затем вы использовали бы это в ASP.NET Web API следующим образом:

//controller method -- assuming you want to post and return data
public MyDto Post([FromBody] MyDto myDto){
   MyDto someDto = myDto;
   /*ASP.NET automatically converts the data for you into this object 
    if you post a json object as follows:
{
    "Name": "SomeName",
      "Value": "SomeValue"
}
*/
   //do some stuff
}

Это очень помогло мне, когда я работал в своем веб-Api и сделал мою жизнь очень легкой.

2
задан nograpes 16 August 2014 в 17:27
поделиться

2 ответа

scale_fill () и geom_tile () не применяют статистические данные или лучше применяют stat_identity () - к вашему значению fill = rf / 300. Он просто вычисляет, сколько цветов вы используете, а затем генерирует цвета с помощью функции munsell «mnsl ()». Если вы хотите применить некоторую статистику только к отображаемым цветам, вы должны использовать:

scale_colour_gradient(trans = "log")

или

scale_colour_gradient(trans = "sqrt")

Изменение цветов среди плиток не могло быть лучшей идеей, поскольку графики должны быть сопоставимы, и вы сравниваете значения по их цветам. Надеюсь, это поможет

1
ответ дан Fabio 26 August 2018 в 03:26
поделиться

Он использует stat_identity, как видно из документации. Вы можете легко проверить это:

DF <- data.frame(x=c(rep(1:2, 2), 1), 
                 y=c(rep(1:2, each=2), 1), 
                 fill=1:5)

#  x y fill
#1 1 1    1
#2 2 1    2
#3 1 2    3
#4 2 2    4
#5 1 1    5

p <- ggplot(data=DF) +
  geom_tile(aes(x=x, y=y, fill=fill))

print(p)

enter image description here [/g0]

Как вы видите, значение заполнения для комбинации 1/1 равно 5. Если вы используете факторы, это еще более ясно, что происходит:

p <- ggplot(data=DF) +
  geom_tile(aes(x=x, y=y, fill=factor(fill)))

print(p)

enter image description here [/g1]

Если вы хотите изобразить средства, я бы предложил рассчитать их вне ggplot2:

library(plyr)
DF1 <- ddply(DF, .(x, y), summarize, fill=mean(fill))
p <- ggplot(data=DF1) +
  geom_tile(aes(x=x, y=y, fill=fill))

print(p)

enter image description here [/g2]

Это проще, чем пытаться выяснить, может ли stat_summary играть с geom_tile каким-то образом (я сомневаюсь).

3
ответ дан Roland 26 August 2018 в 03:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: