小编hkj*_*447的帖子

使用 ggplot 多线和中心对齐 x 轴标签

我知道hjust用于 x标题轴,但是我将如何对 x 轴标签进行居中和多线处理?这是我的绘图功能:

gg_fun<-function(){
  ggplot(tab,                  
         aes(x = Var1, y = Percent)) +
    #theme_light() +
    theme(panel.background = element_rect(fill = NA),
          axis.title.y=element_text(angle=0, vjust=0.5, face="bold"), 
          axis.title.x=element_blank(),
          axis.text.y = element_text(size = 10), 
          axis.text.x = element_text(size = 12),
          axis.ticks.x = element_blank(),
          axis.ticks.y = element_blank(),
          #panel.grid.minor = element_line(colour = "dark gray"),
          panel.grid.major.x = element_blank() ,
          # explicitly set the horizontal lines (or they will disappear too)
          panel.grid.major.y = element_line(size=.1, color="dark gray" ),
          axis.line = element_line(size=.1, colour = "black"),
          plot.background …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

匹配数据框中的数值

a <- c(4000,3500,3000)
b <- c(0.43,0.55,0.61)

test.data <- data.frame(a,b)
Run Code Online (Sandbox Code Playgroud)

假设我想通过引用3500而不是通过行/列来获取值0.55。我将如何实现?我想我可以转换a为字符串,然后以这种方式引用它,但是有没有一种方法可以引用数字值来提取其中的值b

编辑:谢谢大家的好评!

r dataframe

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

将正斜杠转换为反斜杠

这是我尝试的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *convertDirec(char direc[]){
    for(int i = 0; i < strlen(direc); i++){
        if(direc[i]=='/'){
            direc[i]=='\\';
        }
    }
    return direc;
}

int main(){
    printf("%s", convertDirec("C:/Users/user/Documents/data.csv"));
}

Run Code Online (Sandbox Code Playgroud)

但是,该printf语句main仅打印相同的路径。我在网上找到了另一个与此相关的资源,其逻辑似乎与我的相同,因此我不确定我的错误在哪里。我尝试这样做direc[i] == "/",但这给出了相同的结果。我也尝试替换随机字母,但这也失败了。

我也尝试使用指针来执行此操作,但这也不起作用。

char *convertDirec(char direc[]){
    for(char *p = direc; *p != '\0'; ++p){
        if(*p == '/')
            *p='\\';
    }
    return direc;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,谢谢。

c string loops

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

使用切比雪夫点进行插值

以 10 为增量在 Chebyshev 点对示例 10.6 的 Runge 函数进行插值,n 从 10 到 170。计算均匀评估网格上的最大插值误差 x = -1:.001:1 并绘制误差与多项式次数的关系,如下所示图 10.8 使用符号学。观察光谱精度。

梯级函数由下式给出: f(x) = 1 / (1 + 25x^2)

到目前为止我的代码:

x = -1:0.001:1;
n = 170;
i = 10:10:170;
cx = cos(((2*i + 1)/(2*(n+1)))*pi); %chebyshev pts

y = 1 ./ (1 + 25*x.^2); %true fct
%chebyshev polynomial, don't know how to construct using matlab

yc = polyval(c, x); %graph of approx polynomial fct
plot(x, yc);
mErr =  (1 / ((2.^n).*(n+1)!))*%n+1 derivative of …
Run Code Online (Sandbox Code Playgroud)

matlab numerical-methods

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

R中的旋转轴文本标签

我想将 y 轴标签旋转为水平方向而不是垂直方向,但我看到的每篇文章都只讨论旋转 y 轴上的刻度线。例如,运行ggplot(mpg, aes(fl)) + geom_bar() + theme(axis.text.y = element_text(angle=90, hjust=1))会生成以下图:

在此输入图像描述

我希望“计数”是水平的而不是垂直的。我已经尝试过lastheme(),但这些都没有旋转 y 轴文本标签。这可以在 R 中实现吗?

plot r ggplot2

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

标签 统计

r ×3

ggplot2 ×2

c ×1

dataframe ×1

loops ×1

matlab ×1

numerical-methods ×1

plot ×1

string ×1