小编dra*_*war的帖子

用双轴重现"经济学人"图表

我试图从经济学家(左边的那个)复制这个 图表.该图表绘制了左边y轴上俄罗斯亿万富翁的数量以及右边世界其他地区的亿万富翁数量.

  1. 为俄罗斯亿万富翁创建图表(p1).
  2. 为其他人创建图表(p2).
  3. 使用Kohske的代码组合p1p2进入双y轴图表.

数据:(内容billionaire.csv)

,Russia,World
1996,0,423
1997,4,220
1998,1,221
1999,0,298
2000,0,322
2001,8,530
2002,6,466
2003,17,459
2004,25,562
2005,27,664
2006,33,760
2007,53,893
2008,87,1038
2009,32,761
2010,62,949
2011,101,1109
2012,96,1130
2013,110,1317
2014,111,1535
2015,88,1738
Run Code Online (Sandbox Code Playgroud)

码:

library(ggplot2)
library(gtable)
library(grid)
library(extrafont) # for Officiana font
dat <- read.csv("billionaire.csv")
rus <- dat[,1:2]
world <- dat[,-2]

grid.newpage()
p1 <- ggplot(rus, aes(X, Russia)) + geom_line(colour = "#68382C", size = 1.5) + ggtitle("Number in Russia") +
  ylim(0, 200) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gtable

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

switch语句和增量

我有以下代码:

int i = 1;
int j = 0;
switch (i++)
{
case 1: j += i;
case 2: j += i;
case 3: j += i;
break;
}
printf("%d %d",i, j);
Run Code Online (Sandbox Code Playgroud)

所述i++表达式的计算结果i为1,因为它是一个递增运算符,因此在壳体1的语句将被执行,这意味着j被评估为2.然后没有中断,则程序继续执行下面的所有语句.由于值i不变,因此值也j不变.所以我希望输出是类似的2 2但事实证明是2 6.请任何人给我一个解释,谢谢!

c

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

除零错误?

我试过运行这段代码:

int x = 0;
double y = 1/2;
if (y <= x || y/x < 1)
y++;
printf("%.2f", y);
Run Code Online (Sandbox Code Playgroud)

输出是1.00,这对我来说有点令人惊讶.我认为第一个表达式(y <= x)是假的,因为这是||运算符,C也必须计算第二个表达式(y/x < 1),它涉及除零.但为什么没有出现任何错误?

c logical-operators

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

标签 统计

c ×2

ggplot2 ×1

gtable ×1

logical-operators ×1

r ×1