【问题标题】:How do you align labels using -graph hbar- in Stata?如何在 Stata 中使用 -graph hbar- 对齐标签?
【发布时间】:2021-06-01 03:10:17
【问题描述】:

我想在视觉上对齐“猫”和“苹果”的标签,使它们出现在同一条“线”上,并为“狗”和“苹果”做同样的事情,而不是让动物标签出现在水果标签列表的中间。这可以使用graph hbar吗?

input str10(fruit animal) float value
"Apples"    "Cats" 31.8
"Bananas"   "Cats" 16.7
"Mangos"    "Cats" 17.9
"Pears"     "Cats" 18.1
"Apples"    "Dogs" 1.6
"Bananas"   "Dogs" 4.3
"Mangos"    "Dogs" 4.4
end

graph hbar (asis) value, over(fruit) over(animal) nofill

红色箭头表示我想要动物标签的位置。

【问题讨论】:

  • 好问题。应该有一个简单的处理方法。您是否尝试过图形编辑器并记录了它的作用?
  • 我尝试在图表编辑器中移动标签的位置,但似乎无法达到预期的效果。我会把这个问题放在“很好解决但不是必需的”篮子里。如果其他人有解决方案,我会保留这个问题。

标签: stata


【解决方案1】:

我也觉得应该有一种简单(/更容易)的方法来做到这一点。我在图形编辑器中得到了我认为你想要的东西(见下文),这是 .grec 文件的内容:

StataFileTM:00001:01100:GREC:                          :
00006:00006:00001:
*! classname: hbargraph_g
*! family: bar
*! date:  2 Jun 2021
*! time: 21:41:23
*! graph_scheme: cleanplots
*! naturallywhite: 1
*! end

// File created by Graph Editor Recorder.
// Edit only if you know what you are doing.

.supaxis.add_ticks 90 `"Cats"', tickset(major)
// supaxis edits

.supaxis.major.num_rule_ticks = 0
.supaxis.edit_tick 3 90 `"Cats"', tickset(major)
// supaxis edits

.supaxis.add_ticks 30 `"Dogs"', tickset(major)
// supaxis edits

.supaxis.major.num_rule_ticks = 0
.supaxis.edit_tick 4 30 `"Dogs"', tickset(major)
// supaxis edits

.supaxis.major.delete_tick 1
// supaxis edits

.supaxis.major.delete_tick 1
// supaxis edits


// <end>

不幸的是,我不确定这对你是否有帮助,但这是我目前能做到的最好的(但希望总比没有好!)。

为了让它工作,我进入图形编辑器,选择编辑/添加单个刻度的选项,然后在 y 轴上的点 90 处为“猫”添加一个,在点处为“狗”添加一个30. 然后我删除了 Stata 自动创建的另外两个 y 轴标签。我无法将 .grec 文件附加到此帖子,但您可以将以上内容复制到您选择的文本编辑器中。

仅供参考,.grec 文件默认保存在 grec 文件夹中,Stata 在您的 personal 目录中查找该文件夹。如果你不知道它在哪里,你可以通过在控制台中输入sysdir 来找到它;如果您没有,您可以手动创建该路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-09
    • 2022-01-17
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2019-06-09
    相关资源
    最近更新 更多