我无法将颜色图例放在一个简单的条形图中,我试图将它放在Stata中。我想避免使用图形编辑器并尝试从do文件中解决这个问题。
我正在使用function MyCtrl2($scope, $timeout) {
$timeout(function(){
$scope.value = $scope.valX + $scope.valY;
}, 100 * $scope.count);
}
包中的plottig
方案。 我希望图例位于图表的右侧,因为它位于R的ggplot类型的条形图中。
我使用的命令是
blindschemes
导致以下情节:
如果需要,我可以提供样本数据集,但涉及机密性问题。
答案 0 :(得分:2)
您需要做的就是提供具有相同结构的虚假数据集,或使用Stata提供的数据集之一进行说明。但是很容易伪造具有类似复杂性的数据集。我在这里看到两个分类变量,一个有9个类别,没有明显的顺序,另一个有3个类别和明确的时间顺序。正在绘制的是响应的百分比,可能是某些问题,例如最重要的问题。
我的答案不是你直接要求的,因为这个设计 - 尽管很受欢迎 - 在我看来,即使是严肃的研究人员,在使用空间和可读性方面显然也很差。使用传奇 - 有人说是关键 - 充其量只是一种必要的邪恶。在这里,很少有人想要或能够记住这个传奇。明显的后果是双重的。首先,很多人原则上会理解你的图表(它只是一个条形图),但不会详细介绍它。其次,其他人会尝试与之互动,但不得不在传奇和图表之间反复来回。任意着色都无济于事。传奇的不同位置无济于事。
以下是自包含代码中的假数据集以及我的替代建议,使用tabplot
( Stata Journal )。最新的Stata中的search tabplot
将指向
SJ-16-2 gr0066。 。 。 。 。 。说Stata:多个条形图 表格 (如果安装了帮助tabplot)。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 N. J.考克斯 Q2 / 16 SJ 16(2):491--510
provides multiple bar charts in table form representing contingency tables for one, two, or three categorical variables
需要订阅或支付访问权限,直到2019年第二季度,但您可以从将要显示的链接免费下载该程序。帐户here可以免费访问。
clear
set obs 27
set seed 2803
egen issue = seq(), to(9)
egen crisis = seq(), to(3) block(9)
label def crisis 1 "first crisis" 2 "second crisis" 3 "third crisis"
label val crisis crisis
label def issue 1 Stark 2 Targaryen 3 Lannister 4 Baratheon 5 Arryn ///
6 Greyjoy 7 Martell 8 Tully 9 Tyrell
label val issue issue
gen percent = runiform()^2
egen total = total(percent), by(crisis)
replace percent = 100 * percent/total
tabplot issue crisis [iw=percent], horizontal ///
showval(format(%2.1f) mlabsize(vsmall) offset(0.25)) ///
ytitle("") xtitle("")
注意:
您的真实数据比此结构更多。自然可以在 y 轴上重新排序类别。
如果您愿意,可以使用不同的颜色。
我使用scheme s1color
,但您可以清楚地看到自己喜欢的内容。
您的九个类别的文本比我的更长,更有理由将它们放在可读的位置,这意味着水平方向是垂直轴。它们在水平轴上是不可读的,这可能就是你使用传奇的原因。幸运的是,没有任何冲突,因为在任何情况下自然或传统的时间顺序都是正确的。在其他问题中,哪个变量取决于哪个轴可能难以决定。
我还建议玩
的变体graph dot (asis) percent , over(crisis) over(issue) ///
asyvars marker(1, ms(Oh)) marker(2, ms(X)) marker(3, ms(+)) legend(row(1))
我不在这里展示。在该图中有一个图例,但它更容易使用。
简而言之,我解决移动尴尬传奇问题的方法是删除它。