Nano Hash - криптовалюты, майнинг, программирование

Используя ggplot2, как я могу строить точки с помощью aes() после построения линий?

Я использую ggplot2 для отображения линий и точек на графике. Я пытаюсь сделать все линии одного цвета, а затем показать точки, окрашенные атрибутом. Мой код выглядит следующим образом:

# Data frame
dfDemo <- structure(list(Y = c(0.906231077471568, 0.569073561538186, 
0.0783433165521566, 0.724580209473378, 0.359136092118470, 0.871301974471722, 
0.400628333618918, 1.41778205350433, 0.932081770977729, 0.198188442350644
), X = c(0.208755495088456, 0.147750173706688, 0.0205864576474412, 
0.162635017485883, 0.118877260137735, 0.186538613831806, 0.137831912094464, 
0.293293029083812, 0.219247919537514, 0.0323148791663826), Z = c(11112951L, 
11713300L, 14331476L, 11539301L, 12233602L, 15764099L, 10191778L, 
12070774L, 11836422L, 15148685L)), .Names = c("Y", "X", "Z"
), row.names = c(NA, 10L), class = "data.frame")

# Variables
X = array(0.1,100)
Y = seq(length=100, from=0, by=0.01)

# make data frame
dfAll <- data.frame()

# make data frames using loop
for (x in c(1:10)){

    # spacemate calc
    Floors = array(x,100)

    # include label
    Label = paste(' ', toString(x), sep="") 
    df1 <- data.frame(X = X * x, Y = Y, Label)

    # merge df1 to cumulative df, dfAll
    dfAll <- rbind(dfAll, df1)

}

# plot 
pl <- ggplot(dfAll, aes(x = X, y = Y, group = Label, colour = 'Measures')) + geom_line() 

# add  points to plot
pl + geom_point(data=dfDemo, aes(x = X, y = Y)) + opts(legend.position = "none")

Это почти работает, но я не могу раскрасить точки на Z, когда делаю это. Я могу построить точки отдельно, окрашенные Z, используя следующий код:

ggplot(dfDemo, aes(x = X, y = Y, colour = Z)) + geom_point()

Однако, если я использую аналогичный код после построения линий:

pl + geom_point(data=dfDemo, aes(x = X, y = Y, colour = Z)) + opts(legend.position = "none")

Я получаю следующую ошибку:

Error: Continuous variable () supplied to discrete scale_hue.

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

28.06.2011

Ответы:


1

Проблема в том, что они сталкиваются с двумя цветовыми шкалами, одна из вызова ggplot, а другая из geom_point. Если вам нужны линии одного цвета и точки разных цветов, вам нужно стереть настройку цвета из вызова ggplot и поместить его внутри geom_line вне вызова aes, чтобы он не отображался. Используйте I() для определения цвета, иначе он будет думать, что это просто переменная.

    pl <- ggplot(dfAll, aes(x = X, y = Y, group = Label)) + 
                 geom_line(colour = I("red"))
    pl + geom_point(data=dfDemo, aes(x = X, y = Y, colour = Z)) + 
                    opts(legend.position = "none")

ХТН

28.06.2011
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..