我有一个分类轴,我希望在视觉上将该分类变量中的组分开。我不想因为它占用太多空间而在视觉上不那么干净。
这是我想要的一个直观的例子,涉及一些繁琐的黑客攻击(对于用于间距的非数据条目,将alpha设置为0)。
dd2 <- data.frame(x=factor(1:10,), y=c(1:10), groups=c("A",rep("B",9)))
我希望能够使用以下数据结构创建此图而不必破解额外的类别(使用我试图绘制的数据量/组数量是不可行的)(其中变量“groups”确定间距发生的位置):
dfm_select()
答案 0 :(得分:4)
您可以通过class C{
public:
void ini(){/* some code */}
// the following methods and data members are actually not necessary; they have been introduced just for demonstration purpose:
void setX(int _x) { x = _x; };
void print() { cout << x << endl; }
int x;
};
class D{
protected:
std::vector<C> regis = std::vector<C>(3); //will ini(); later
public:
C &field0 = (regis[0].setX(5),printAllRegis("at field0:"),regis[0]);
C &field1 = (regis[1].setX(7),printAllRegis("at field1:"),regis[1]);
C &field2 = (regis[2].setX(regis[0].x + regis[1].x),printAllRegis("at field2:"),regis[2]);
char dummy = (cout << "after field2: ", field2.print(), '0');
D(){ }
void ini(){
for(auto ele:regis){ ele.ini(); }
}
void printAllRegis(string header) {
int i=0;
cout << header << endl;
for(auto ele:regis){ cout << " field" << i++ << ":"; ele.print(); }
}
};
int main() {
D d;
/* Output:
at field0:
field0:5
field1:0
field2:0
at field1:
field0:5
field1:7
field2:0
at field2:
field0:5
field1:7
field2:12
after field2: 12
*/
return 0;
}
和breaks
limits
参数获取您要查找的结果。将scale_x_discrete
设置为x轴上的因子级别,将breaks
设置为因子级别,您想要/需要它们。
以下是一个例子:
limits