是否有一个包允许计算两点之间的空间距离考虑到高程.因此,对于每个点,我们将拥有纬度,经度和海拔.到目前为止,我必须编写以下函数:
library(geosphere)
distance3D <- function (point1, point2) {
planiDist <- distm(point1[1:2], point2[1:2])
altiDist <- point2[3] - point1[3]
dist3D <- sqrt(planiDist^2+altiDist^2)
return(dist3D)
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道其中一个R包中是否存在一个功能.
我有一个大约的数据帧。400 万行和 35 列作为输入。
我对此数据框所做的只是以下步骤:
因此,我们最终得到与我们开始时相同的数据帧(理论上)。
但是,我注意到,如果给定列的列表变得太大(超过 6 列),则输出数据帧将变得无法操作。即使是简单的显示也需要 10 分钟。
这是我的代码示例(df 是我的输入数据帧):
for c in list_columns:
df = df.join(df.groupby(list_group_features).agg(sum(c).alias('sum_' + c)), list_group_features)
df = df.drop('sum_' + c)
Run Code Online (Sandbox Code Playgroud) 我有以下 R 代码:
library(plotly)
A <- matrix(seq(1, 12), nrow = 4, ncol = 3)
p <- plot_ly(z = t(A), type = "heatmap", colorscale = "Greys")
p
Run Code Online (Sandbox Code Playgroud)
如何更改绘图以仅查看 y 轴上的值 0、1 和 2,而不查看值 -0.5、0.5、1.5 和 2.5(与 x 轴类似)
如何将 y 轴上的所有刻度值添加 10,以获得 10、11 和 12,而不是 0、1 和 2。
请注意,我正在寻找一个一般概念,因为现实中的矩阵要大得多。
我正在尝试在我的标题之一中用R / Plotly写出摄氏度符号。当我仅使用下面的简单绘图时,它就可以工作:
# Working code
library(latex2exp)
set.seed(1)
betas <- rnorm(1000)
hist(betas, main = TeX("Temperature (^0C)"))
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过代码运行代码时,出现以下错误:“'HashTableSetup'中未实现的类型'expression'。
#Initialise the plot
p <- plot_ly()
#Add axis names
#Font
f <- list(
family = "Courier New, monospace",
size = 18,
color = "#7f7f7f")
#X axis name
x <- list(
title = "x Axis",
titlefont = f)
#Y Axis name
y <- list(
title = TeX("Temperature (^0C)"),
titlefont = f)
#Add layout
p <- p %>%
layout(xaxis = x, yaxis= y)
p
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
让我们考虑以下情节:
p1 <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "Size",
type = "bar")
p2 <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(10, 2, 3),
name = "Weight",
type = "bar"
)
p <- subplot(p1, p2, nrows = 2, shareX = TRUE)
p %>% layout(yaxis = list(title = "Size"))
Run Code Online (Sandbox Code Playgroud)
我想控制每个子图的 y 轴标题。看起来我这样做的方式只能控制顶部的子图。如何为底部子图的 y 轴添加标题?
让我们考虑以下脚本,我在其中创建一个函数,例如y = f(x):
x = 0:0.01:2;
y = 0:0.02:4;
figure(1);clf;
plot(x, y);
Run Code Online (Sandbox Code Playgroud)
假设我现在想获得f的一些值,例如f(0.5),f(1)或f(1.5).有没有办法用matlab函数获取这些值,或者我必须首先得到x,0.5和1的1.5,以获得f(x)?
下面的代码显示了一个图表,其中包含我列表中的值的数量:
import seaborn as sns
sns.countplot([0,1,2,3,1,2,1,3,2,1,2,1,3])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想要相同的百分比图。seaborn 或 matplotlib 是否有一个简单的选择?