我想绘制部分geom_vline
or geom_hline
,代码如下:
df <- data.frame(x=1:10,y=1:10)
plt <- ggplot(data=df)+
geom_point(aes(x=x,y=y))+
geom_vline(aes(xintercept=x[2]))+
geom_hline(aes(yintercept=y[2]))
Run Code Online (Sandbox Code Playgroud)
我希望将左侧和下部的部分线显示为交叉点。但没有诸如xlim
或ylim
之类 的争论geom_vline
我使用mpg
ggplot2 包中的数据来测试绘图参数。我发现 lengend.key 背景(右上角,标签车辆模型)颜色可以更改为任何其他颜色,但透明或白色除外。如何将lengend键背景默认灰色更改为透明?
library(ggplot2)
p <- ggplot(data=mpg,mapping=aes(x=cty,y=hwy,colour=class))+
geom_point(aes(size=displ),alpha=0.5)+
stat_smooth(method='loess')+
scale_size_continuous(range=c(4,10))+
facet_wrap(~year,ncol=2)+
labs(x='distance per gallon in city',y='distance per gallon in highway',
title='fuel consumption and model',size='displacement',colour='vehicle model')
p+
theme(
plot.background=element_rect(fill='transparent', colour='transparent'),
panel.background=element_rect(fill='transparent', colour='gray'),
panel.border=element_rect(fill='transparent', colour='black'),
axis.text=element_text(color='black'),
panel.grid.major=element_line(colour='grey',linetype='dashed'),
strip.background=element_rect(fill='transparent', colour='transparent'),
panel.spacing.x=unit(4,'mm'),
legend.box.background=element_rect(fill='blue', colour='transparent'),
legend.key=element_rect(fill='transparent', colour='transparent')
)
Run Code Online (Sandbox Code Playgroud)
我尝试了很多次,简单的光栅绘图是空的。但可以绘制子数据框。所以我考虑了 ggplot 中的一些错误?数据框不是很大,大约10k行。
df <-
tibble::tribble(
~x, ~y, ~mean, ~k, ~p, ~k1,
5044676.13, 5567208.267, 76.17061754, -0.346729916, 0.006967871, "(-1,0]",
5076676.13, 5487208.267, 71.42755804, -0.430442239, 0.011792143, "(-1,0]",
5188676.13, 5463208.267, 77.64019292, 0.230009537, 0.072617934, "(0,1]",
5148676.13, 5447208.267, 71.11206476, -0.244530952, 0.055665191, "(-1,0]",
4932676.13, 5399208.267, 47.52124286, -0.196172453, 0.060010053, "(-1,0]",
5036676.13, 5351208.267, 69.77565423, 0.043384786, 0.366328498, "(0,1]",
4980676.13, 5343208.267, 65.96337177, -0.348177839, 8.43e-06, "(-1,0]",
5252676.13, 5295208.267, 116.3495365, 0.124572049, 0.584311077, "(0,1]",
4932676.13, 5279208.267, 65.1707162, 0.242013783, 0.114344889, "(0,1]",
5060676.13, 5271208.267, 66.02839503, 0.084724445, 0.264818634, "(0,1]",
5100676.13, 5271208.267, 154.3897871, -0.937553354, 0.000412151, "(-1,0]",
4820676.13, 5255208.267, …
Run Code Online (Sandbox Code Playgroud) from SALib.sample import saltelli
import numpy as np
problem = {
'num_vars': 3,
'names': ['x1', 'x2', 'x3'],
'bounds': [-10,10]
}
Run Code Online (Sandbox Code Playgroud)
必须bounds
是均匀分布吗?它可能是其他概率分布吗?如正态、二项式、泊松、Beta...
我想旅行一个pandas DataFrame,并搜索特殊值,同时用表达式修改它,并将其替换为运算结果.例如:
A B
0 1 3
1 37 45
2 3 5
Run Code Online (Sandbox Code Playgroud)
对于DataFrame的每个元素i,当i> 10,new_value = old_value%10时,将DataFrame修改为:
A B
0 1 3
1 7 5
2 3 5
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索,只有一个简单的函数df.replace(a,b)进行修改.这个问题有什么功能吗?