小编Hen*_*ndy的帖子

Python sys.argv [1:]没有获取命令行选项

更新/解决方案:答案如下,来自Zack.确实,问题是脚本文件本身的DOS行结尾,clenotes.cmd.由于我对各种文件非常了解,我删除了整个目录,然后从HERE重新下载了一份新的副本.我在文件上运行了Zack的perl脚本,就像这样:

perl -pi.bak -e 's/[ \t\r]+$//' clenotes.cmd
Run Code Online (Sandbox Code Playgroud)

然后我稍微编辑了命令执行,以便最终脚本变为:

CWD=`dirname $0`
JYTHON_HOME="$CWD"
LIB_DIR="$JYTHON_HOME/lib"
NOTES_HOME="/opt/ibm/lotus/notes/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NOTES_HOME
java -cp "$LIB_DIR" -jar "$LIB_DIR/jython.jar" -Djython.home="$CWD/" -Dpython.path="$LIB_DIR:$CWD/ext" -Djava.library.path="$NOTES_HOME" "$LIB_DIR/clenotes/cletes/clenotes.py" "$@"
Run Code Online (Sandbox Code Playgroud)

就是这样 - 其他一切都奏效了.不需要对clenotes.py或clenotes.cfg进行编辑.非常感谢你坚持这个问题,我觉得这个问题很简单.


更新:我正在减少一些代码,使其更具可读性并从帖子中删除不必要的信息.


我正在尝试让Lotus Notes命令行在 Linux上运行,并且在python文件中遇到与sys.argv [1:]相关的问题.Windows脚本在这里:

@echo off
@setlocal 
set CWD=%~dp0
set JYTHON_HOME=%CWD%
set LIB_DIR=%JYTHON_HOME%/lib
java -cp %LIB_DIR% -jar %LIB_DIR%/jython.jar -Djython.home=%CWD%  -python.path=%LIB_DIR%;%CWD%/ext %LIB_DIR%/clenotes/clenotes.py  %*

@endlocal
Run Code Online (Sandbox Code Playgroud)

我在变量方面遇到了困难,所以对于Linux来说,它看起来像这样:

java -cp ./lib/ -jar ./lib/jython.jar -Djython.home=./ -Dpython.path=./lib:./ext -Djava.library.path=/opt/ibm/lotus/notes/ ./lib/clenotes/clenotes.py $*
Run Code Online (Sandbox Code Playgroud)

我在目录中运行它.无论如何,让我感到困惑的是它没有从命令行中获取任何选项.clenotes.cmd --help结果是

No commands specified. Use --help option …
Run Code Online (Sandbox Code Playgroud)

python linux command-line lotus-notes jython

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

使用ddply + mutate和自定义函数?

ddply经常使用,但历史上summarize(偶尔mutate)和基本功能,如mean(),var1 - var2等等.我有一个数据集,我正在尝试应用一个自定义,更多涉及的功能,并开始尝试深入研究如何使用ddply.我有一个成功的解决方案,但我不明白为什么它会像这样工作而不是更"正常"的功能.

有关

这是一个示例数据集:

library(plyr)
df <- data.frame(id = rep(letters[1:3], each = 3),
                 value = 1:9)
Run Code Online (Sandbox Code Playgroud)

通常情况下,我会这样使用ddply:

df_ply_1 <- ddply(df, .(id), mutate, mean = mean(value))
Run Code Online (Sandbox Code Playgroud)

我的这种可视化是ddply分割df成基于分组的连击"迷你"的数据帧id,然后我通过调用添加一个新的列mean()上存在于列名df.所以,我尝试实现一个函数扩展了这个想法:

# actually, my logical extension of the above was to use:
# ddply(..., mean = function(value) { mean(value) })
df_ply_2 <- ddply(df, …
Run Code Online (Sandbox Code Playgroud)

r plyr

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

将matplotlib子图图形保存到图像文件

我是新来的matplotlib,正在lim步。就是说,我没有找到这个问题的明显答案。

我有一个散点图,希望按组进行着色,看起来像通过循环绘制滚动方式

这是我的可复制示例,基于上面的第一个链接:

import matplotlib.pyplot as plt
import pandas as pd
from pydataset import data

df = data('mtcars').iloc[0:10]
df['car'] = df.index

fig, ax = plt.subplots(1)
plt.figure(figsize=(12, 9))
for ind in df.index:
    ax.scatter(df.loc[ind, 'wt'], df.loc[ind, 'mpg'], label=ind)
ax.legend(bbox_to_anchor=(1.05, 1), loc=2)
# plt.show()
# plt.savefig('file.png')
Run Code Online (Sandbox Code Playgroud)

取消注释会plt.show()产生我想要的东西:

好情节

到处搜索,看起来就像plt.savefig()是保存文件的方式。如果我重新注释掉plt.show()plt.savefig()改为运行,则会得到空白的白色图片。这个问题,暗示这是由于show()之前致电引起的savefig(),但我已将其完全注释掉了。另一个问题有一条评论,建议我可以ax直接保存该对象,但这切断了我的图例:

切碎的传说

相同的问题也有替代方法使用fig.savefig()。我得到同样的传说。

这个问题,这似乎有关,但我不密谋DataFrame直接,所以我不知道如何应用答案(这里dtf …

python matplotlib figure

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

使用ggplot选出特定样本以获得美观

相关: ggplot2条形图中的订购条。该问题涉及基于某些数字特征(例如,从最大到最小)的重新排序。我想基于不是数据固有的任意原因重新排序。

另外,如何更改ggplot中离散x刻度的顺序?。这建议对因子水平进行排序,这已在下面完成,但是我似乎无法结合使用子集数据和保持所需因子顺序的行为。


我有一些产品测试数据,我想在条形图中突出显示特定的样品。在我的特殊情况下,我想将我感兴趣的样本一直推到一侧,并用不同的颜色进行着色(即,将突出显示的样本以字母顺序移到右侧,并使其变为绿色)。

这是我尝试做的一个例子:

library(ggplot2)
test <- data.frame(names = c("A", "B", "C", "Last", "X", "Y", "Z"))
test$y <- 1:7
Run Code Online (Sandbox Code Playgroud)

如果我照原样绘制,众所周知的因素将按字母顺序排列。

ggplot(test, aes(x=Names, y=y)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我像这样重新排列了级别:

test$names <- factor(test$names, levels = test$names[ c(1:3, 5:7, 4) ])
test$names
[1] A    B    C    Last X    Y    Z   
Levels: A B C X Y Z Last
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。如果我们现在绘图,我会得到这个,这给了我想要的顺序:

ggplot(test, aes(x=names, y=y)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是我想将颜色Last涂成绿色,所以我尝试了一下:

p <- ggplot(test[!test$names=="Last" ,], aes(x=names, y=y)) + geom_bar()
p <- p + geom_bar(aes(x=names, y=y), …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2

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

gigplot2中的"Bin"连续值基于标准获得更多不同的颜色(如因子级着色)?

现在,我只是使用这样的东西:

test_data$level <- rep("", nrow(test_data))
test_data[test_data$value <= 1, ]$level <- "1"
test_data[test_data$value > 1 & test_data$value <= 2, ]$level <- "2"
...
test_data[test_data$value > 4 & test_data$value <= 5, ]$level <- "5"
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有更好的方法在R中执行此操作,或者scale通过简单地应用一些参数ggplot2来进行分类.


可能有几种方法,所以很难准确地说出我的问题.这是要点...我有这样的数据:

 set.seed(123)
 test_data <- data.frame(var1 = rep(LETTERS[1:3], each = 5),
   var2 = rep(letters[1:5], 3),
   value = runif(30, 1, 5))
 test_data
   var1    value
1     A 2.150310
2     B 4.153221
3     C 2.635908
4     D 4.532070
5     E 4.761869
6     F 1.182226
7     G 3.112422 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

使用R/ggplot2使用scale_colour_continuous控制中间值颜色

我有一组数据,并希望将colour美学映射到一种"参考值",如下所示:

  • 以下值为红色
  • 附近的值是蓝色的
  • 上面的值是绿色的

我仍然希望显示值是连续的,所以简单地使用类似cut()和使用的函数scale_colour_discrete不是我正在寻找的.这是一些示例数据:

set.seed(123)
x <- runif(100, min = 1, max = 10)
y <- runif(100, min = 1, max = 10)
test <- data.frame(x = x, y = y)
test$colour <- runif(100, min = 1, max = 10)
ggplot(test, aes(x = x, y = y, colour = colour)) + geom_point(size = 3)
Run Code Online (Sandbox Code Playgroud)

这产生以下结果:

在此输入图像描述

我很熟悉scale_colour_gradient(low = "red", high = "green"),但是我希望更有意识地将我的颜色转换为所需的值映射,以使区域"流行"更具视觉效果.间距不一定是线性的.换句话说,对于参考值3,映射将是这样的:

value:  1     3      10
colour: red   blue   green
Run Code Online (Sandbox Code Playgroud)

这可能吗?我还会采用其他解决方案来实现良好的可视化,以便在各点之间轻松突出"理想"值.例如,我考虑替换引用附近的值(ref …

r colors ggplot2

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

在R中为相同的值添加一列索引

我想根据我每年发生事件的数据集制作一个瓷砖图.举个例子,我有这样的数据:

set.seed(123)
data <- data.frame(years = sample(2000:2010, 50, replace = T))
Run Code Online (Sandbox Code Playgroud)

我想将这些绘制为x =年的瓦片图,但是在多次出现的年份中保持事件之间的分离(y方向).问题是我没有其他专栏给我一个年份倍数的连续y值.

为了说明,我有这个:

data[data$years == 2002, ]
[1] 2002 2002 2002 2002
Run Code Online (Sandbox Code Playgroud)

我想我需要这样的东西:

data[data$years == 2002, ]
    years   index
1    2002       1
2    2002       2
3    2002       3
4    2002       4
Run Code Online (Sandbox Code Playgroud)

然后我可以用x = years和平铺y = index.

谢谢你的任何建议!

r

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

Combine geom_tile() and facet_grid/facet_wrap and remove space between tiles (ggplot2)

I have a data set with x, y, and z (resp) values along with two columns for facetting in order to create a grid of tile plots.

The output of dput() is at the end of the post.

library(ggplot2)
Run Code Online (Sandbox Code Playgroud)

My actual data set has six unique interactions between variables, however I've limited it to four for simplicity. I can create a tile plot with each unique combination, but not the whole set. The output of dput() is at …

r facet tile ggplot2

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

将多个函数的输出组合成python中的pd.Series(如R中的c())

我一直在R用于数据分析,我正在努力学习python.在R中,我可以创建向量c(),这使我得到一个"列",这是由我传递的任何东西产生的.我经常用它来连接序列或重复值.像这样的东西:

> test <- c(rep(1:2, each = 2), seq(5, 10, by = 2), runif(3))
> test
 [1] 1.0000000 1.0000000 2.0000000 2.0000000 5.0000000 7.0000000 9.0000000
 [8] 0.9237168 0.5051230 0.2367923
Run Code Online (Sandbox Code Playgroud)

什么是pythonic方式(猜测pandasnumpy)?


这个问题是我发现的最接近的问题,但它只是将range()对象放在一起.尝试做上面的内容python,将输出存储为pd.Series,我试过:

import numpy as np
import pandas as pd

test = pd.Series([np.repeat([1, 2], 2), 
                  np.arange(5, 10, 2),
                  np.random.random_sample(3)])
Run Code Online (Sandbox Code Playgroud)

这让我有了一种嵌套的东西:

0                                        [1, 1, 2, 2]
1                                           [5, 7, 9]
2    [0.989736164378, 0.558979301843, 0.385354683044] …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

标签 统计

r ×6

ggplot2 ×4

python ×3

colors ×1

command-line ×1

facet ×1

figure ×1

jython ×1

linux ×1

lotus-notes ×1

matplotlib ×1

numpy ×1

pandas ×1

plot ×1

plyr ×1

tile ×1