форматирование диапазона оси y в ggplot [дубликат]

Начиная с jQuery 1.7, вы должны использовать jQuery.fn.on :

$(staticAncestors).on(eventName, dynamicChild, function() {});

До этого рекомендуется использовать live() :

$(selector).live( eventName, function(){} );

Однако live() устарел в 1.7 в пользу on() и полностью удален в 1.9. Подпись live():

$(selector).live( eventName, function(){} );

... может быть заменена следующей on() сигнатурой:

$(document).on( eventName, selector, function(){} );

Например, если ваша страница динамически создавала элементы с именем класса dosomething, вы привязывали бы событие к родительскому, который уже существует (здесь есть нуль проблемы, вам нужно что-то, что существует для привязки, не привязка к динамическому контенту), это может быть (и самый простой вариант) - document. Хотя иметь в виду document, возможно, не самый эффективный вариант .

$(document).on('mouseover mouseout', '.dosomething', function(){
    // what you want to happen when mouseover and mouseout 
    // occurs on elements that match '.dosomething'
});

Любой родитель, который существует в момент привязки события, прекрасен. Например,

$('.buttons').on('click', 'button', function(){
    // do something here
});

применимо к

277
задан zx8754 10 April 2017 в 06:38
поделиться

2 ответа

В основном у вас есть две опции

scale_x_continuous(limits = c(-5000, 5000))

или

coord_cartesian(xlim = c(-5000, 5000)) 

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

Вы также можете использовать сокращенную функцию xlim (или ylim), который, как и первый вариант, удаляет точки данных за пределами заданного диапазона:

+ xlim(-5000, 5000)

Для получения дополнительной информации проверьте описание coord_cartesian .

RStudio cheatsheet для ggplot2 делает это совершенно ясным визуально. Вот небольшая часть этой таблицы:

Распространяется в CC BY .

476
ответ дан Axeman 19 August 2018 в 11:58
поделиться
  • 1
    есть также library(scales); ... + scale_x_continuous(limits = c(-5000, 5000), oob=squish) (по умолчанию oob=censor); см. ?squish, ?censor: groups.google.com/forum / #! topic / ggplot2 / AsJ6xpmR9tU – Ben Bolker 2 November 2013 в 23:07
  • 2
    NB. это может быть проблематично, если вы имеете дело с линиями / полигонами, где некоторые вершины находятся за пределами, так как весь объект удаляется из графика – geotheory 5 September 2014 в 12:35
  • 3
    – Nick Stauner 16 October 2014 в 03:03
  • 4
    Нет, я должен был быть более конкретным, только первый метод – geotheory 16 October 2014 в 09:30
  • 5
    На практике для целей «печати» с coord_cartesian(xlim = вам, вероятно, необходимо также сбросить ylim и сбросить метки и разрывы сетки. – PatrickT 17 October 2015 в 13:30

Быстрое примечание: если вы также используете coord_flip(), чтобы перевернуть оси x и y, вы не сможете установить пределы диапазона с помощью coord_cartesian(), поскольку эти две функции являются эксклюзивными (см. здесь ).

К счастью, это простое исправление; установите пределы внутри coord_flip() следующим образом:

p + coord_flip(ylim = c(3,5), xlim = c(100, 400))

Это просто изменяет видимый диапазон (т. е. не удаляет точки данных).

26
ответ дан Bill 19 August 2018 в 11:58
поделиться
Другие вопросы по тегам:

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