我有一个数据df.all框,我正在使用下面的代码在ggplot2的条形图中绘制它.我想这样做,以便翻转躲闪的酒吧的顺序.也就是说,标记为"奇异"的条形在标记为"复数"的条形之前.
ggplot(df.all, aes(gram, V1, fill=number)) +
geom_bar(stat="identity", position="dodge") +
scale_x_discrete(labels=c("Grammatical","Ungrammatical")) +
scale_y_continuous(formatter="percent", limits=c(0,1)) +
facet_grid(. ~ experiment) +
scale_fill_hue("Attractor", breaks=c("S","P"), labels=c("Singular","Plural"))
Run Code Online (Sandbox Code Playgroud)
我试过levels(df.all$number) = c("S", "P")想,也许ggplot使用级别的顺序来决定绘图顺序,但这不起作用.我不知道还有什么可以尝试的.有任何想法吗?
内容df.all,如果它有用:
> df.all
number gram experiment V1
1 S G BERIMBAU_AGR_A 0.8133333
2 S G BERIMBAU_AGR_B 0.8658537
3 S U BERIMBAU_AGR_A 0.5436242
4 S U BERIMBAU_AGR_B 0.4597701
5 P G BERIMBAU_AGR_A 0.8580645
6 P G BERIMBAU_AGR_B 0.8536585
7 P U BERIMBAU_AGR_A 0.3087248
8 P U BERIMBAU_AGR_B 0.3975904
> str(df.all) …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚一些C代码,以便我可以将它移植到python中.该代码用于读取专有的二进制数据文件格式.到目前为止它一直很简单 - 它主要是结构,我一直在使用struct库来从文件中请求特定的ctypes.但是,我刚刚提到了这段代码,我对如何在python中实现它感到茫然.特别是,我不知道如何处理enum或者union.
#define BYTE char
#define UBYTE unsigned char
#define WORD short
#define UWORD unsigned short
typedef enum {
TEEG_EVENT_TAB1=1,
TEEG_EVENT_TAB2=2
} TEEG_TYPE;
typedef struct
{
TEEG_TYPE Teeg;
long Size;
union
{
void *Ptr; // Memory pointer
long Offset
};
} TEEG;
Run Code Online (Sandbox Code Playgroud)
其次,在下面的struct定义中,我不确定变量名后面的冒号是什么意思,(例如KeyPad:4).这是否意味着我应该读4个字节?
typedef struct
{
UWORD StimType;
UBYTE KeyBoard;
UBYTE KeyPad:4;
UBYTE Accept:4;
long Offset;
} EVENT1;
Run Code Online (Sandbox Code Playgroud)
如果它有用,我在python中访问文件的方式的抽象示例如下:
from struct import unpack, calcsize
def get(ctype, size=1):
"""Reads and unpacks binary …