【问题标题】:Plot graph from within Mata从 Mata 中绘制图形
【发布时间】:2019-06-24 11:08:49
【问题描述】:

考虑mata中的以下玩具矩阵:

mata: A

            1       2
     +-----------------+
   1 |   6555     140  |
   2 |   7205     135  |
   3 |   6255     140  |
   4 |   7272     138  |
   5 |  10283     133  |
   6 |   8244     136  |
   7 |   6909     144  |
   8 |   7645     138  |
   9 |  12828     134  |
  10 |   6538     137  |
     +-----------------+

如果我想使用这个矩阵绘制散点图,我首先需要将它转移 到 Stata,然后还使用 svmat 命令将其转换为变量:

mata: st_matrix("A", A)

svmat A
list, separator(0)

     +-------------+
     |    A1    A2 |
     |-------------|
  1. |  6555   140 |
  2. |  7205   135 |
  3. |  6255   140 |
  4. |  7272   138 |
  5. | 10283   133 |
  6. |  8244   136 |
  7. |  6909   144 |
  8. |  7645   138 |
  9. | 12828   134 |
 10. |  6538   137 |
     +-------------+

twoway scatter A1 A2

有没有办法在不离开mata的情况下直接画图?

【问题讨论】:

    标签: stata


    【解决方案1】:

    可以绘制 mata 矩阵,而无需先将其转换为 Stata 变量,如下所示:

    twoway scatter matamatrix(A)
    

    更多详情请见help twoway_mata


    @PearlySpencer 编辑:

    这可以使用stata() 函数直接在mata 中运行:

    mata: stata("twoway scatter matamatrix(A)")
    

    【讨论】:

      【解决方案2】:

      另一种方法是使用 community-contributed mata 函数 mm_plot():

      mata: mm_plot(A, "scatter")
      

      这是moremata 函数集合的一部分,因此必须先下载:

      ssc install moremata
      

      【讨论】:

        猜你喜欢
        • 2016-08-08
        • 1970-01-01
        • 2015-06-12
        • 2014-03-10
        • 1970-01-01
        • 1970-01-01
        • 2020-03-27
        • 1970-01-01
        相关资源
        最近更新 更多