Сервер. Передача по сравнению с контекстом. RewritePath

cowplot пакет сделал это несколько проще.

Постройте сюжет:

library(ggridges)
library(ggplot2)

p <- ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges()

Загрузите изображения и используйте axis_canvas() для построения полосы вертикальных изображений:

library(cowplot)

pimage <- axis_canvas(p, axis = 'y') + 
  draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Iris_virginica.jpg/295px-Iris_virginica.jpg", y = 2.5, scale = 0.5) +
  draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Iris_versicolor_3.jpg/320px-Iris_versicolor_3.jpg", y = 1.5, scale = 0.5) +
  draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/5/56/Kosaciec_szczecinkowaty_Iris_setosa.jpg/450px-Kosaciec_szczecinkowaty_Iris_setosa.jpg", y = 0.5, scale = 0.5)


# insert the image strip into the plot
ggdraw(insert_yaxis_grob(p, pimage, position = "left"))

enter image description here

Без axis.text.y:

p <- ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges() +
  theme(axis.text.y = element_blank())
ggdraw(insert_yaxis_grob(p, pimage, position = "left"))

enter image description here

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

13
задан Lea Cohen 3 December 2008 в 10:57
поделиться

3 ответа

Я думаю Context.RewritePath() более оптимальный вариант. Причина:

Server.Transfer() броски a ThreadAbortException каждый раз. Результат вызова Response.End().

Для получения дополнительной информации прочитайте следующие статьи MS:

Больше информации:
Server.Transfer() не отправляет команду перенаправления HTTP 302 как Response.Redirect() сделал бы.

По данным HttpContext. RewritePath на MSDN, RewritePath() используется в состоянии сеанса без cookie.

Кроме того, на другом предмете, Server.Transfer() и Server.Execute() очень отличаются:

Server.Execute() возвраты сразу управляют к начальной странице после, где это назвали.

Например:

<div>
    test 1 <br/>
    <% Server.Execute("include.aspx?hello=ok"); %>
    test 2 <br/>
</div>

Произвел бы:

тест 1
содержание include.aspx? hello=ok
тест 2

9
ответ дан 2 December 2019 в 01:11
поделиться

Избегать исключения, выданного Сервером. Передача, можно использовать Сервер. Выполниться. Оба Сервера. Передача и Сервер. Выполнитесь НЕ выпускают 302 сообщения HTTP. Только Ответ. Перенаправление выпускает этот заголовок и просит, чтобы браузер перешел к новому месту назначения, утверждая, что это было временно перемещено. Оба Сервера. Передача и Сервер. Выполнитесь позволяют Вам выполнять другую страницу для обслуживания текущего запроса.

1
ответ дан 2 December 2019 в 01:11
поделиться

Контекст. RewritePath Присваивается, внутреннее переписывают путь, и допускает URL, который требуют отличаться от внутреннего пути до ресурса. RewritePath используется в состоянии сеанса без cookie.

Принимая во внимание, что Server.transfer передает содержание, собранное для обработки одной страницы к другой странице.

1
ответ дан 2 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

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