小编Jac*_*ley的帖子

如何使用ggplot更改轴上数字的格式?

我正在使用R和ggplot来绘制一些数据的散点图,一切都很好,除了y轴上的数字是用计算机风格的指数格式出来的,即4e + 05,5e + 05等.这显然很明显不可接受,所以我想把它显示为500,000,400,000等等.获得正确的指数表示法也是可以接受的.

该图的代码如下:

p <- ggplot(valids, aes(x=Test, y=Values)) +
  geom_point(position="jitter") +
  facet_grid(. ~ Facet) +
  scale_y_continuous(name="Fluorescent intensity/arbitrary units") +
  scale_x_discrete(name="Test repeat") +
  stat_summary(fun.ymin=median, fun.ymax=median, fun.y=median, geom="crossbar")
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

r ggplot2

112
推荐指数
5
解决办法
11万
查看次数

64位整数中OR相邻位的有效方法

我想要做的是采用由位对组成的64位无符号整数,如果相应对中的两个位都为0,则从中创建一个包含0的32位整数,否则为1.换句话说,转换看起来像这样的东西:

01 00 10 11
Run Code Online (Sandbox Code Playgroud)

进入看起来像这样的东西

1 0 1 1
Run Code Online (Sandbox Code Playgroud)

两个明显的解决方案是每个字节的强力循环或查找表,然后执行8次查找并将它们组合成OR和位移的最终结果但我确信应该有一种有效的方法来进行比特纠缠.我将在C++中为64位整数执行此操作,但如果有人知道为更短的整数执行此操作的有效方法,我确信我可以弄清楚如何扩展它.

c++ bit-manipulation

53
推荐指数
6
解决办法
3521
查看次数

在Python中的for循环中使用next是否安全?

请考虑以下Python代码:

b = [1,2,3,4,5,6,7]
a = iter(b)
for x in a :
    if (x % 2) == 0 :
        print(next(a))
Run Code Online (Sandbox Code Playgroud)

这将打印3,5和7.是否在next可靠的构造上迭代变量的使用(您可以假设StopIteration异常不是问题或将被处理),或者迭代器的修改是否循环在循环内部构成违反某些原则?

python

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

是否可以将图例定位在R中ggplot的右上角?

我正在尝试为ggplot创建一个主题,然后我可以将它用于我的所有图形并让它们看起来既漂亮又漂亮又统一.我想将图例从其右侧垂直居中的当前位置移动到与右侧图形顶部对齐,如下面的红色箭头所示.

期待的传奇运动

我想不明白.我可以通过使用它来定位情节内部,legend.position但如果我这样做,legend.justification = c(0.0, 1.0)它会将图例推到它绘制的区域之外并完全切断.我知道我可以通过弄乱每个图形的grobs和gtables来为每个图形单独完成它,但我不希望每次绘制图形时都这样做.

反正有没有这样做theme

r ggplot2

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

如何在python中优雅地交错两个不均匀长度的列表?

我想在python中合并两个列表,列表具有不同的长度,因此较短列表的元素在最终列表中的间隔尽可能相等.即我想采取[1, 2, 3, 4]['a','b']合并它们以获得类似的列表[1, 'a', 2, 3, 'b', 4].它需要能够与那些不准确的倍数太名单功能,所以它可以采取[1, 2, 3, 4, 5]['a', 'b', 'c']生产[1, 'a', 2, 'b', 3, 'c', 4, 5]或相似.它需要保留两个列表的顺序.

我可以通过一个冗长的蛮力方法看到如何做到这一点但是因为Python似乎有很多优秀的工具可以做各种我不知道的聪明的事情(还)我想知道是否还有其他的东西优雅我可以使用?

注意:我使用的是Python 3.3.

python list python-3.x

12
推荐指数
4
解决办法
2911
查看次数

使用pandas后,为什么我的数据框中出现空行?

我是Python和Pandas的新手,并试图弄清楚如何进行简单的split-join-apply.我遇到的问题是我在所有数据帧的顶部得到一个空白行我从Pandas的应用函数回来了,我不知道为什么.谁能解释一下?

以下是演示问题的最小示例,而不是我的实际代码:

sorbet = pd.DataFrame({
  'flavour': ['orange', 'orange', 'lemon', 'lemon'],
  'niceosity' : [4, 5, 7, 8]})

def calc_vals(df, target) :
    return pd.Series({'total' : df[target].count(), 'mean' : df[target].mean()})

sorbet_grouped = sorbet.groupby('flavour')
sorbet_vals = sorbet_grouped.apply(calc_vals, target='niceosity')
Run Code Online (Sandbox Code Playgroud)

如果我那么print(sorted_vals)我得到这个输出:

         mean  total
flavour                 <--- Why are there spaces here?
lemon     7.5      2
orange    4.5      2

[2 rows x 2 columns]
Run Code Online (Sandbox Code Playgroud)

比较这个print(sorbet):

  flavour  niceosity     <--- Note how column names line up
0  orange          4
1  orange          5
2   lemon          7
3   lemon …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

什么是++运算符在Python中做什么?

Python不支持C风格的++a增量,但令我惊讶的是,它并没有抱怨导致我暂时感到困惑,为什么我的循环不起作用.

尝试一些事情(首先初始化a=0)我发现a++a--产生语法错误,但++a没有.虽然--a在Python 3.3中产生语法错误,但在Python 2.7中没有.

这是怎么回事?为什么不++a给出错误?为什么--a不在2.7中给出错误但在3.3中给出错误?

python

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

如何让 pycharm 不自动插入结束文档字符串?

我讨厌任何 IDE 中的任何东西,它会插入我没有明确告诉它的任何东西。因此,我已经关闭了我能找到的所有自动完成和自动插入,但我不知道如何为文档字符串杀死它。我输入"""并按下Space它,而是将其放入:

"""
"""
Run Code Online (Sandbox Code Playgroud)

如何关闭此行为?

python autocomplete pycharm

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

当大小是变量而不是常量时,如何创建数组?

我有一个接收变量int的方法.该变量构成一个数组大小(请不要给我一个向量).因此,我需要在我的方法中初始化一个const int来初始化一个特定大小的数组.问题:我该怎么做?

void foo(int variable_int){
    int a[variable_int] = {0}; //error
}
Run Code Online (Sandbox Code Playgroud)

c c++ constants array-initialization

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

如何在c ++中将int类型更改为double

有没有办法将变量初始化为通用数字类型或int,然后将其类型更改为double?

TYPE x = 4;
// commands changing its type
here it(variable x) became double.
Run Code Online (Sandbox Code Playgroud)

我知道这很奇怪.

变量必须具有相同的名称.

c++ types numbers primitive-types

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