在每个面板中为相同的直方图提供

时间:2016-08-17 19:50:43

标签: r lattice

这是thisthisthis问题的后续内容。

目前,我有一个十二个面板的格子,其中相同的深色直方图轮廓叠加在十二个不同的实心灰色直方图上:

Twelve panels with two histograms in each, one as an outline over the other

这样可以轻松地将每个面板中的新数据与同一组其他数据进行比较。遗漏了与问题无关的一些细节,我的代码如下所示:

histogram(~ foo | bar,
          data=mydata[mydata$bar!="none",],  # get only the 12 categories
          col=mylightgray, border=mylightgray,
          panel=function(...){panel.histogram(...) # add histogram to ea. panel:
                              panel.histogram(x=mydata[mydata$bar=="none",]$foo,
                                  col="transparent", border="black")})

现在我想颠倒颜色,可以这么说:我想在同一个实心灰色直方图上叠加不同的轮廓直方图。

问题在于:

如果我只是交换颜色,以便主直方图有col="transparent"border="black",而面板函数直方图使用mylightgray,灰色直方图将位于顶部,并且轮廓直方图的部分模糊,这使得在一个面板中放置两个直方图的目的失败了。

另一方面,如果我交换数据规范,以便外部主直方图使用bar=="none"并且面板直方图使用bar!="none",我只得到一个面板。

问题在于它是主要的直方图调用,而不是额外的面板功能,它们首先写入并且还控制面板的数量。似乎不可能创建多个面板,其中底部的图是相同的 - 除非我只创建一个包含12个相同数据副本的数据框。我想知道是否有一个没有产生特殊数据的解决方案。

1 个答案:

答案 0 :(得分:0)

交换颜色 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="42dp" android:layout_marginRight="42dp" android:text="Button2" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button3" /> <RadioButton android:id="@+id/radio4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button4" /> </LinearLayout> </LinearLayout> 来电的顺序。也就是说,首先绘制灰色直方图。