我正在将大小映射到一个变量,比如对数分布——主要是小值,但也有一些非常大的值。如何让图例在低值范围内显示自定义值?例如:
df = data.frame(x=rnorm(2000), y=rnorm(2000), v=abs(rnorm(2000)^5))
p = ggplot(df, aes(x, y)) +
geom_point(aes(col=v, size=v), alpha=0.75) +
scale_size_area(max_size = 10)
print(p)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过p + guides(shape=guide_legend(override.aes=list(size=8)))在这个 SO question 中发布的解决方案,但它对我的情节没有影响。在任何情况下,我都想使用特定的图例大小值,例如 v = c(10,25,50,100,250,500) 而不是默认范围,例如 c(100,200,300,400)..
感谢帮助。

难以在OSX Mavericks的新R版本中安装某些软件包.两者rgeos并rgdal返回例如:
package 'rgeos' is available as a source package but not as a binary
Warning in install.packages :
package 'rgeos' is not available (for R version 3.1.1)
Run Code Online (Sandbox Code Playgroud)
在我的Windows系统上,两个软件包都安装了R 3.1.1,这是一个Mavericks/OSX版本问题,还是我的构建问题?更改库存储库没有任何区别.我已经看过从二进制文件构建,但是例如在rgeos主页上它说"OS X Mavericks二进制文件:r-release:not available"所以我已经搞砸了.
感谢您的建议.
编辑:
尝试@Andrie的建议:
> install.packages('rgeos', type='source')
Installing package into ‘/Users/robinedwards/Library/R/3.1/library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.ma.imperial.ac.uk/src/contrib/rgeos_0.3-6.tar.gz'
Content type 'application/x-gzip' length 240510 bytes (234 Kb)
opened URL
==================================================
downloaded 234 Kb
* installing *source* package ‘rgeos’ ...
** package ‘rgeos’ successfully …Run Code Online (Sandbox Code Playgroud) Shiny似乎只接受mainPanelin中提供的任何最终输出ui.R。一个较早的SO问题提出了这个问题,但没有得到令人满意的解决方案。mainPanel的文档建议应该可行:
描述:创建一个包含输出元素的主面板
以下代码说明:
服务器
library(shiny)
shinyServer(
function(input, output) {
plotInput <- reactive({
list(plot = plot(1:10),
txt = "My reactive title")
})
output$myplot <- renderPlot({ plotInput()$plot })
output$txt <- renderText({ plotInput()$txt })
}
)
Run Code Online (Sandbox Code Playgroud)
用户界面
require(shiny)
pageWithSidebar(
headerPanel("Multiple outputs to mainPannel"),
sidebarPanel(),
mainPanel({
# only the last output works
h1(textOutput("txt"))
plotOutput("myplot")
p("see what I mean?")
})
)
Run Code Online (Sandbox Code Playgroud)
有谁知道这是一个错误,还是如何解决?
我有一个相当高清晰度的全局地图栅格,想要绘制文件,但似乎无法保持分辨率.绘制受限区域的工作正常,但无论采用何种方法,整个世界总是以降低的分辨率结束.我在这里错过了什么吗?我经常在没有这个问题的情况下输出高分辨率栅格,但在这种情况下我无法确定原因.为了显示:
require(raster)
require(rworldmap)
data(countriesCoarse); worldmap = countriesCoarse
worldmap@data = data.frame(x = rep(1,length(worldmap))) # uniform vector
x_res = 3600; y_res = 1800
r0 <- raster(extent (-180,180,-90,90), ncol=x_res, nrow=y_res, crs=crs(worldmap))
rastermap <- rasterize(worldmap, r0, 'x') # ~ 2 mins
# small-area plot confirms raster's data resolution is ok
plot(rastermap, col='grey', xlim=c(-10,5), ylim=c(49,60), asp=T, axes=F, box=F, legend=F)
# the resolution is maintained for limited-area plot to file
png('plot0.png', width=x_res, height=y_res)
plot(rastermap, col='grey', axes=F, box=F, legend=F, xlim=c(-10,5), ylim=c(49,60), asp=T)
dev.off(); browseURL('plot0.png')
# but outputting …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个关于如何替换恢复维度和组的交叉过滤器数据的问题的可重现示例- 即在数据更新之前重新应用用户创建的任何过滤器.这是我实施已接受答案的尝试.这是一个有效的jsfiddle.
脚本在3秒后刷新以切换data1到data2.如果您在此之前应用过滤器(例如,单击Mr A),则当图形更新时,"记住"过滤器,因为右侧元素突出显示(其他灰色显示).但是过滤器不会应用于其他图形.您需要删除过滤器并重新应用它才能工作(例如删除2013饼段).
我的实现或解决方案本身有问题吗?
<!DOCTYPE html>
<html lang="en">
<head>
<title>dc.js - Example</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="http://dc-js.github.io/dc.js/css/dc.css"/>
<script type="text/javascript" src="http://dc-js.github.io/dc.js/js/d3.js"></script>
<script type="text/javascript" src="http://dc-js.github.io/dc.js/js/crossfilter.js"></script>
<script type="text/javascript" src="http://dc-js.github.io/dc.js/js/dc.js"></script>
</head>
<body>
<div id="chart-ring-year"></div>
<div id="chart-row-spenders"></div>
<script type="text/javascript">
var yearRingChart = dc.pieChart("#chart-ring-year"),
spenderRowChart = dc.rowChart("#chart-row-spenders");
var data1 = [
{Name: 'Mr A', Spent: 40, Year: 2011},
{Name: 'Mr B', Spent: 10, Year: 2011},
{Name: 'Mr C', …Run Code Online (Sandbox Code Playgroud) 使用RSelenium我可以使用以下公式通过Firefox浏览器从网页下载文件:
csv = remDr$findElement(using = 'css selector', "a[ng-click*=download]")
remDr$executeScript("arguments[0].click();", list(csv))
Run Code Online (Sandbox Code Playgroud)
当我尝试使用phantomjs浏览器复制该过程时,没有任何反应.猜猜也许没有设置下载目录,我试过:
remDr$extraCapabilities = makeFirefoxProfile(list(browser.download.dir = "/download/path"))
Run Code Online (Sandbox Code Playgroud)
仍然没有任何反应 感谢一个想法,让这一切发挥作用.
编辑.
我应该在安装过程中添加以下报告,这可能相关或不相关,但它似乎不会停止页面连接或元素选择:
> pJS = phantom()
[ERROR - 2016-03-17T17:54:08.914Z] GhostDriver - main.fail - {"line":85,"sourceURL":"phantomjs://code/main.js","stack":"global code@phantomjs://code/main.js:85:56"}
phantomjs://platform/console++.js:263 in error
Run Code Online (Sandbox Code Playgroud) 在图中获得奇怪的顶点排序geom_line。左图是底数R;右边是ggplot。
这是我正在使用的shapefile。这将复制剧情:
require(ggplot2); require(maptools)
rail = readShapeLines('railnetworkLine.shp')
rail_dat = fortify(rail[1,])
ggplot(rail_dat) + geom_line(aes(long, lat, group=group)) + coord_equal()
Run Code Online (Sandbox Code Playgroud)
知道是什么原因造成的吗?正如分别lines()确认的那样,强化的数据顺序似乎是正确的。
我遇到了很多嵌套在data.frame列中的列表,并且在可能的情况下没有看到任何用于展平这些列表的通用方法 - 即当嵌套元素可能强制转换为与父级具有相同行数的data.frame时.考虑这些嵌套的这些例子:
require(dplyr)
data_frame(a=1:3, b = c('a','b','c'), c = list('cats','dogs','birds'))
#> # A tibble: 3 x 3
#> a b c
#> <int> <chr> <list>
#> 1 1 a <chr [1]>
#> 2 2 b <chr [1]>
#> 3 3 c <chr [1]>
data_frame(a=1:3, b = c('a','b','c'), c = list(iris[1:3,]))
#> # A tibble: 3 x 3
#> a b c
#> <int> <chr> <list>
#> 1 1 a <data.frame [3 x 5]>
#> 2 2 b <data.frame [3 …Run Code Online (Sandbox Code Playgroud) 我需要更改包装的geom_text层中的行距。
library(ggplot2)
library(stringr)
txt = c('one two three', 'four five six', 'seven eight nine')
p = ggplot(data=NULL, aes(x=1:3, y=1:3, label = str_wrap(txt, width = 3))) +
geom_text() + expand_limits(x = c(0.5, 3.5), y = c(0.5, 3.5))
Run Code Online (Sandbox Code Playgroud)
但是theme(text=element_text(lineheight = ...))没有效果,因为它theme仅适用于绘图的非数据组件,因此我不清楚如何实现此目的。有什么建议吗?
给定带有词性分类标记的文本,我想知道是否有任何方法可以使用 css 可视化此元数据?例如,句子Ten pins were set in order.解析(在 Spacy 中)为:
token pos
1 Ten NUM
2 pins NOUN
3 were AUX
4 set VERB
5 in ADP
6 order NOUN
7 . PUNCT
Run Code Online (Sandbox Code Playgroud)
我可以在 html 中呈现它,例如:
token pos
1 Ten NUM
2 pins NOUN
3 were AUX
4 set VERB
5 in ADP
6 order NOUN
7 . PUNCT
Run Code Online (Sandbox Code Playgroud)
看起来像这样(注意title属性的使用由“pins”上的(不可见)鼠标悬停演示):
这需要交互性来探索元数据。我想知道是否有任何 css 方法可以使所有标签的标题/其他属性永久可见?优选地,细节将在单词上方或下方呈现偏移。