ggplot с 2 осями y на каждой стороне и различных масштабах

Да, проблема в том, что вы используете URL, а не именованный пульт. Git нужно удаленное имя для отслеживания удаленной ветви, иначе он просто не знает, как к нему обращаться.

Один из способов обойти это - приложение установить удаленный URL-адрес перед нажатием.

git remote set-url  
git push  

Тогда / будут обновлены.


Но реальный вопрос здесь заключается в том, почему пользователь должен указывать URL каждый раз, когда он нажимает? Пульт дистанционного управления - это то, что вы должны настроить один раз, а затем использовать его по имени ... или не использовать его вообще, если в ветви установлен восходящий поток.

использует URL-адрес, потому что я использую его для приложения, и мне нужно поместить имя пользователя и пароль непосредственно внутри push

blockquote>

Имя пользователя и пароль может быть указан в удаленном URL, хотя это имеет серьезные последствия для безопасности; их пароль будет находиться в открытом виде на диске. Имя пользователя и пароль не должны меняться от толчка к толчку. Если возможно, измените приложение, чтобы настроить пульт один раз, а затем используйте этот пульт для нажатия.

Лучший вариант - отдельно брать URL-адрес, имя пользователя и пароль. Установите пульт, используя URL. Сохраните имя пользователя и пароль с помощью gitcredentials .

209
задан M-- 27 May 2019 в 09:58
поделиться

3 ответа

Иногда клиент хочет получить две шкалы y. Говорить им о "недостатках" часто бессмысленно. Но мне нравится, что ggplot2 настаивает на том, чтобы делать все правильно. Я уверен, что ggplot на самом деле обучает среднего пользователя правильным методам визуализации.

Может быть, для сравнения двух рядов данных можно использовать фасеттинг и свободный масштаб? - Например, посмотрите здесь: https://github.com/hadley/ggplot2/wiki/Align-two-plots-on-a-page

103
ответ дан 23 November 2019 в 04:38
поделиться

Я нашел этот , ответ помог мне больше всего, но нашел, что были некоторые пограничные случаи, которые это, казалось, не обработало правильно, в особенности отрицательные случаи и также случай, где мои пределы имели 0 расстояний (который может произойти, если мы захватываем наши пределы от макс. / минута данных). Тестирование, кажется, указывает, что это последовательно работает

, я использую следующий код. Здесь я предполагаю, что мы имеем [x1, x2], что мы хотим преобразовать к [y1, y2]. Путем я обработал, это должно было преобразовать [x1, x2] к [0,1] (достаточно простое преобразование), затем [0,1] к [y1, y2].

climate <- tibble(
  Month = 1:12,
  Temp = c(-4,-4,0,5,11,15,16,15,11,6,1,-3),
  Precip = c(49,36,47,41,53,65,81,89,90,84,73,55)
)
#Set the limits of each axis manually:

  ylim.prim <- c(0, 180)   # in this example, precipitation
ylim.sec <- c(-4, 18)    # in this example, temperature



  b <- diff(ylim.sec)/diff(ylim.prim)

#If all values are the same this messes up the transformation, so we need to modify it here
if(b==0){
  ylim.sec <- c(ylim.sec[1]-1, ylim.sec[2]+1)
  b <- diff(ylim.sec)/diff(ylim.prim)
}
if (is.na(b)){
  ylim.prim <- c(ylim.prim[1]-1, ylim.prim[2]+1)
  b <- diff(ylim.sec)/diff(ylim.prim)
}


ggplot(climate, aes(Month, Precip)) +
  geom_col() +
  geom_line(aes(y = ylim.prim[1]+(Temp-ylim.sec[1])/b), color = "red") +
  scale_y_continuous("Precipitation", sec.axis = sec_axis(~((.-ylim.prim[1]) *b  + ylim.sec[1]), name = "Temperature"), limits = ylim.prim) +
  scale_x_continuous("Month", breaks = 1:12) +
  ggtitle("Climatogram for Oslo (1961-1990)")  

ключевые роли здесь - то, что мы преобразовываем вторичную ось y с ~((.-ylim.prim[1]) *b + ylim.sec[1]) и затем применяем инверсию к фактическим значениям y = ylim.prim[1]+(Temp-ylim.sec[1])/b). Мы должны также гарантировать это limits = ylim.prim.

0
ответ дан 23 November 2019 в 04:38
поделиться

Это невозможно в ggplot2, потому что я считаю, что графики с отдельными шкалами y (не шкалы y, которые являются преобразованиями друг друга) в корне ошибочны. Некоторые проблемы:

  • Необратимы: учитывая точку в пространстве графика, вы не можете однозначно отобразить ее обратно в точку в пространстве данных.

  • Их относительно сложно правильно прочитать по сравнению с другими вариантами. Подробнее см. Исследование двухуровневых диаграмм данных Петры Изенберг, Анастасии Безерианос, Пьера Драгичевича и Жан-Даниэля Фекете.

  • Ими легко манипулировать, чтобы ввести в заблуждение: не существует единственного способа указать относительные масштабы осей, оставляя их открытыми для манипуляций. Два примера из блога Junkcharts: one , two

  • Они произвольны: почему только 2 шкалы, а не 3, 4 или десять?

Вы также можете прочитать статью Стивена Фью длительное обсуждение темы Двумерные оси в графах Всегда ли они лучшее решение? .

139
ответ дан 23 November 2019 в 04:38
поделиться