小编met*_*oia的帖子

带表达式的ggplot2双行标签

我想用两个expression()语句写一个轴标签.但是,plotmath并且expression不允许这样(例如,下标文本出现在最右侧).我在大约2005年发现了类似问题的讨论,但他们提供的工作并没有转化为我在ggplot2中的应用程序.最近的一个问题解决了多行表达式语句的不同排列,但是这里提供的工作再次不适用于此.

例:

p <- ggplot(mtcars,aes(x=wt,y=mpg))+
  geom_point()+
  xlab(expression(paste("A long string of text goes here just for the purpose \n of illustrating my point Weight "[reported])))
try(ggsave(plot=p,filename=<some file>,height=4,width=6))
Run Code Online (Sandbox Code Playgroud)

产生一个图像,其中下标"报告"在我希望它位于前一个单词旁边时向右踢出. ggplot2带有表达式的两行标签

r ggplot2

53
推荐指数
4
解决办法
7万
查看次数

ggplot缩放颜色渐变到数据范围之外的范围

我正在寻找一种方法来拉伸两个值之间的颜色渐变并标记图例,而不管数据集中的数据值范围如何.基本上,是否有功能等同ylim() 于颜色渐变?

给定通常在-1和1之间绘制az值的代码,如果中断在数据范围内,我可以绘制并标记渐变:

library(ggplot2)

#generator from http://docs.ggplot2.org/current/geom_tile.html
pp <- function (n, r = 4) { 
  x <- seq(-r * pi, r * pi, len = n)
  df <- expand.grid(x = x, y = x)
  df$r <- sqrt(df$x^2 + df$y^2)
  df$z <- cos(df$r^2) * exp(-df$r / 6)
  return(df)
}

t <- pp(30)
summary(t)
b <- c(-.5, 0, .5)
colors <- c('navyblue', 'darkmagenta', 'darkorange1')
p <- ggplot(data = t, aes(x = x, y = y))+
  geom_tile(aes(fill = z))+
  scale_fill_gradientn(colors = colors, …
Run Code Online (Sandbox Code Playgroud)

r data-visualization colors ggplot2

25
推荐指数
1
解决办法
3万
查看次数

缺少ggplot2和geom_line的传奇

如何在ggplot中绘制线条时显示图例?我整个晚上都在尝试,但都没有成功.

p <- ggplot(output, aes(lambda), legend=TRUE) +
  geom_line(aes(y=train.err), colour="red", label="r") +
  geom_line(aes(y=test.err), colour="blue", label="b") +
  geom_line(aes(y=data.err), colour="green", label="g")

print(p)
Run Code Online (Sandbox Code Playgroud)

其中output是具有以下结构的数据帧:

'data.frame':   2101 obs. of  4 variables:
 $ lambda   : num  3.06e-07 3.09e-07 3.12e-07 3.15e-07 3.18e-07 ...
 $ train.err: num  0.415 0.415 0.415 0.415 0.415 ...
 $ test.err : num  0.373 0.373 0.373 0.373 0.373 ...
 $ data.err : num  0.398 0.398 0.398 0.398 0.398 ...
Run Code Online (Sandbox Code Playgroud)

r linechart legend ggplot2

24
推荐指数
1
解决办法
3万
查看次数

如何保存已完成的多边形指向leaflet.draw到mysql表

我想使用leaflet.draw来创建区域的轮廓.我设法让这个工作正常:https://www.mapbox.com/mapbox.js/example/v1.0.0/leaflet-draw/

现在我想将每个多边形的数据保存到mysql表中.我有点坚持我将如何导出数据和我应该做的格式.

如果可能的话,我希望将来将数据拉回到地图框/传单地图中,所以猜想像geojson这样的东西会很好.

mysql leaflet mapbox

20
推荐指数
2
解决办法
2万
查看次数

在数据库中存储年份

年度数据的最佳PostgreSQL数据类型是什么,例如2006或1847 TEXT.SMALLINT,DATE?理想情况下,我希望能够使用第二年 - 月 - 日列(DATE格式)查询该列.

database postgresql database-design postgresql-9.1

18
推荐指数
1
解决办法
7830
查看次数

DataFrame.interpolate()推断尾随丢失的数据

考虑以下示例,其中我们设置示例数据集,创建MultiIndex,取消堆叠数据帧,然后执行线性插值,我们逐行填充:

import pandas as pd  # version 0.14.1
import numpy as np  # version 1.8.1

df = pd.DataFrame({'location': ['a', 'b'] * 5,
                   'trees': ['oaks', 'maples'] * 5,
                   'year': range(2000, 2005) * 2,
                   'value': [np.NaN, 1, np.NaN, 3, 2, np.NaN, 5, np.NaN, np.NaN, np.NaN]})
df.set_index(['trees', 'location', 'year'], inplace=True)
df = df.unstack()
df = df.interpolate(method='linear', axis=1)
Run Code Online (Sandbox Code Playgroud)

未堆叠数据集的位置如下所示:

                 value                        
year              2000  2001  2002  2003  2004
trees  location                               
maples b           NaN     1   NaN     3   NaN
oaks   a           NaN     5   NaN   NaN     2
Run Code Online (Sandbox Code Playgroud)

作为插值 …

python interpolation pandas

12
推荐指数
2
解决办法
2481
查看次数

ggplot2多个stat_binhex()在一个图像中绘制不同的颜色渐变

我想使用ggplot2的stat_binhex()在同一个图表上同时绘制两个独立的变量,每个变量都有自己的颜色渐变使用scale_colour_gradientn().

如果我们忽略x轴单位不匹配的事实,可重复的例子是在同一图像中绘制下图,同时保持单独的填充梯度.

d <- ggplot(diamonds, aes(x=carat,y=price))+
  stat_binhex(colour="white",na.rm=TRUE)+
  scale_fill_gradientn(colours=c("white","blue"),name = "Frequency",na.value=NA)
try(ggsave(plot=d,filename=<some file>,height=6,width=8))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

d <- ggplot(diamonds, aes(x=depth,y=price))+
  stat_binhex(colour="white",na.rm=TRUE)+
  scale_fill_gradientn(colours=c("yellow","black"),name = "Frequency",na.value=NA)
try(ggsave(plot=d,filename=<some other file>,height=6,width=8))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我发现在谷歌GGPLOT2组相关问题的一些谈话这里.

r data-visualization hexagonal-tiles ggplot2

11
推荐指数
2
解决办法
1万
查看次数

ggplot2:theme_set,pdf export和Illustrator有困难

我有一个存储为主题的所有主题元素的列表,在绘图之前会引发.但是,我最近发现,当我导出到pdf并尝试在Adobe Illustrator中打开时,我收到错误"Acrobat PDF文件格式有困难".我也看过Illustrator的报道说它"操作太少了".但是,当我使用标准主题(例如theme_set(theme_gray()))时,Illustrator中没有问题.此外,无论主题如何,我都没有绘制或保存修改后的数字的问题.

也许有人可以建议a)存储和唤起大量主题设置的最佳方式,以及b)可能是我的ggplot2 - > pdf - > Illustrator困境的来源.

这是我目前的主题,我如何唤起它,以及一个示例情节.请注意,某些参数已注释掉,如果我以后需要它们,则可用作占位符.

textc <- "grey20"
gridc <- "grey20"
backc <- "white"
fontsize <- 12

new_theme <- theme_set(theme_update(  
  #axis.title = element_text()
  axis.title.x = element_text(colour=textc,size=fontsize,angle=0,hjust=.5,vjust=.5,face="plain"),
  axis.title.y = element_text(colour=textc,size=fontsize,angle=90,hjust=.5,vjust=.5,face="plain"),

  #axis.text = element_text()
  axis.text.x = element_text(colour=textc,size=fontsize,angle=0,hjust=.5,vjust=1.5,face="plain"),
  axis.text.y = element_text(colour=textc,size=fontsize,angle=0,hjust=1,vjust=0,face="plain"),

  axis.ticks = element_line(colour=gridc, size=0.5, linetype="solid"),
  axis.ticks.length = unit(.25,'cm'),
  axis.ticks.margin = unit(.25,'cm'), 

  axis.line = element_line(colour=gridc, size=NA, linetype="solid"),
  #axis.line.x = element_line()
  #axis.line.y = element_line()

  legend.background = element_rect(colour=NA,fill=NA,size=NA,linetype="solid"), # removes title and legend
  legend.margin = unit(0,"cm"),
  legend.key …
Run Code Online (Sandbox Code Playgroud)

pdf r data-visualization adobe-illustrator ggplot2

8
推荐指数
1
解决办法
1619
查看次数

组合线条和条形图:如何生成合适的图例?

d2看起来很好的传奇; 因为d1,我想在白色/透明的背景上展示水平线.

df = data.frame(
  Date = c("2012-11-30", "2012-12-03", "2012-12-04"),
  d1 = c(9, 5, 11),
  d2 = c(4, 6, 3)
)
ggplot(df, aes(Date)) + 
  geom_bar(aes(y = d2, color = "d2"), stat="identity", fill = "red") +
  geom_line(aes(y = d1, group = 1, color = "d1"))  +
  scale_colour_manual("", values=c("d1" = "blue", "d2" = "red")) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r linechart legend bar-chart ggplot2

6
推荐指数
1
解决办法
8843
查看次数

geom_point:将具有最高值的重叠点放在其他点之上

我用可视化的面板数据集geom_point,其中y = var1,x = yearcolor = var2.问题是有许多重叠点,即使是水平抖动也是如此.

减小点大小或设置低α值是不合需要的,因为两者都降低了第二变量的视觉影响,第二变量具有非常长的右偏斜.我希望ggplot将具有最高值的点var2放在所有其他重叠点之上.

可重复的例子:

df <- data.frame(diamonds)

ggplot(data = df,aes(x=factor(cut),y=carat,colour=price)) + 
  geom_point(position=position_jitter(width=.4))+
  scale_colour_gradientn(colours=c("grey20","orange","orange3"))
Run Code Online (Sandbox Code Playgroud)

如何将具有最高值的点df$price放在重叠的点堆栈顶部?

visualization r ggplot2

5
推荐指数
1
解决办法
2786
查看次数