Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Create graph with factor variable on X axis and numeric variable on y-axis

    Hello,

    how can I create panel of line graphs with a factor variable on x-axis and a numeric variable on y-axis, using "by"? "Twoway" requires both x and y axes variables to be numeric.

  • #2
    the issue is not that a variable is categorical, the issue (apparently - please read and follow the advice in the FAQ on showing data examples using -dataex- and posting them within CODE blocks) is that your categorical variable is a string variable (you can check this in a number of ways - e.g., the -describe- command); so you need to change that into a numerical variable; if the underlying values are numeric, you can use -destring-; otherwise you will want -encode- (set up your labels in advance to avoid surprises); in addition to the FAQ, see
    Code:
    h destring
    h encode

    Comment


    • #3
      Hello Rich,

      I got it to work, however, no labels are printed on x-axis. I used the following command. The data is below the command.

      Code:
       twoway (connected Percent Income1), by(Measure1)
      Code:
      * Example generated by -dataex-. To install: ssc install dataex
      clear
      input str5 Income double Percent str14 Measure float(Income1 Measure1)
      "$10"   3.052 "MF None"        1  1
      "$25"   2.292 "MF None"        2  1
      "$40"   2.244 "MF None"        3  1
      "$75"   1.706 "MF None"        4  1
      "> $75" 1.297 "MF None"        5  1
      "$10"   29.76 "MF Equity"      1  2
      "$25"   28.79 "MF Equity"      2  2
      "$40"   29.51 "MF Equity"      3  2
      "$75"    28.9 "MF Equity"      4  2
      "> $75" 31.67 "MF Equity"      5  2
      "$10"   31.18 "MF Debt"        1  3
      "$25"   32.64 "MF Debt"        2  3
      "$40"   34.31 "MF Debt"        3  3
      "$75"   35.65 "MF Debt"        4  3
      "> $75" 37.59 "MF Debt"        5  3
      "$10"      36 "MF Hybrid"      1  4
      "$25"   36.27 "MF Hybrid"      2  4
      "$40"   33.94 "MF Hybrid"      3  4
      "$75"   33.74 "MF Hybrid"      4  4
      "> $75" 29.44 "MF Hybrid"      5  4
      "$10"   46.54 "Bank None"      1  5
      "$25"   54.01 "Bank None"      2  5
      "$40"    59.1 "Bank None"      3  5
      "$75"   62.17 "Bank None"      4  5
      "> $75" 67.67 "Bank None"      5  5
      "$10"   24.75 "Bank Current"   1  6
      "$25"    24.4 "Bank Current"   2  6
      "$40"      25 "Bank Current"   3  6
      "$75"   24.61 "Bank Current"   4  6
      "> $75" 24.02 "Bank Current"   5  6
      "$10"    25.4 "Bank Savings"   1  7
      "$25"    18.7 "Bank Savings"   2  7
      "$40"      29 "Bank Savings"   3  7
      "$75"   11.48 "Bank Savings"   4  7
      "> $75" 7.103 "Bank Savings"   5  7
      "$10"   3.052 "MF None 1"      1  8
      "$25"   2.292 "MF None 1"      2  8
      "$40"   2.244 "MF None 1"      3  8
      "$75"   1.706 "MF None 1"      4  8
      "> $75" 1.297 "MF None 1"      5  8
      "$10"   29.76 "MF Equity 1"    1  9
      "$25"   28.79 "MF Equity 1"    2  9
      "$40"   29.51 "MF Equity 1"    3  9
      "$75"    28.9 "MF Equity 1"    4  9
      "> $75" 31.67 "MF Equity 1"    5  9
      "$10"   31.18 "MF Debt 1"      1 10
      "$25"   32.64 "MF Debt 1"      2 10
      "$40"   34.31 "MF Debt 1"      3 10
      "$75"   35.65 "MF Debt 1"      4 10
      "> $75" 37.59 "MF Debt 1"      5 10
      "$10"      36 "MF Hybrid 1"    1 11
      "$25"   36.27 "MF Hybrid 1"    2 11
      "$40"   33.94 "MF Hybrid 1"    3 11
      "$75"   33.74 "MF Hybrid 1"    4 11
      "> $75" 29.44 "MF Hybrid 1"    5 11
      "$10"   46.54 "Bank None 1"    1 12
      "$25"   54.01 "Bank None 1"    2 12
      "$40"    59.1 "Bank None 1"    3 12
      "$75"   62.17 "Bank None 1"    4 12
      "> $75" 67.67 "Bank None 1"    5 12
      "$10"   24.75 "Bank Current 1" 1 13
      "$25"    24.4 "Bank Current 1" 2 13
      "$40"      25 "Bank Current 1" 3 13
      "$75"   24.61 "Bank Current 1" 4 13
      "> $75" 24.02 "Bank Current 1" 5 13
      "$10"    25.4 "Bank Savings 1" 1 14
      "$25"    18.7 "Bank Savings 1" 2 14
      "$40"      29 "Bank Savings 1" 3 14
      "$75"   11.48 "Bank Savings 1" 4 14
      "> $75" 7.103 "Bank Savings 1" 5 14
      "$10"   3.052 "MF None 2"      1 15
      "$25"   2.292 "MF None 2"      2 15
      "$40"   2.244 "MF None 2"      3 15
      "$75"   1.706 "MF None 2"      4 15
      "> $75" 1.297 "MF None 2"      5 15
      "$10"   29.76 "MF Equity 2"    1 16
      "$25"   28.79 "MF Equity 2"    2 16
      "$40"   29.51 "MF Equity 2"    3 16
      "$75"    28.9 "MF Equity 2"    4 16
      "> $75" 31.67 "MF Equity 2"    5 16
      "$10"   31.18 "MF Debt 2"      1 17
      "$25"   32.64 "MF Debt 2"      2 17
      "$40"   34.31 "MF Debt 2"      3 17
      "$75"   35.65 "MF Debt 2"      4 17
      "> $75" 37.59 "MF Debt 2"      5 17
      "$10"      36 "MF Hybrid 2"    1 18
      "$25"   36.27 "MF Hybrid 2"    2 18
      "$40"   33.94 "MF Hybrid 2"    3 18
      "$75"   33.74 "MF Hybrid 2"    4 18
      "> $75" 29.44 "MF Hybrid 2"    5 18
      "$10"   46.54 "Bank None 2"    1 19
      "$25"   54.01 "Bank None 2"    2 19
      "$40"    59.1 "Bank None 2"    3 19
      "$75"   62.17 "Bank None 2"    4 19
      "> $75" 67.67 "Bank None 2"    5 19
      "$10"   24.75 "Bank Current 2" 1 20
      "$25"    24.4 "Bank Current 2" 2 20
      "$40"      25 "Bank Current 2" 3 20
      "$75"   24.61 "Bank Current 2" 4 20
      "> $75" 24.02 "Bank Current 2" 5 20
      end
      label values Income1 income
      label def income 1 "$10", modify
      label def income 2 "$25", modify
      label def income 3 "$40", modify
      label def income 4 "$75", modify
      label def income 5 "> $75", modify
      label values Measure1 measure
      label def measure 1 "MF None", modify
      label def measure 2 "MF Equity", modify
      label def measure 3 "MF Debt", modify
      label def measure 4 "MF Hybrid", modify
      label def measure 5 "Bank None", modify
      label def measure 6 "Bank Current", modify
      label def measure 7 "Bank Savings", modify
      label def measure 8 "MF None 1", modify
      label def measure 9 "MF Equity 1", modify
      label def measure 10 "MF Debt 1", modify
      label def measure 11 "MF Hybrid 1", modify
      label def measure 12 "Bank None 1", modify
      label def measure 13 "Bank Current 1", modify
      label def measure 14 "Bank Savings 1", modify
      label def measure 15 "MF None 2", modify
      label def measure 16 "MF Equity 2", modify
      label def measure 17 "MF Debt 2", modify
      label def measure 18 "MF Hybrid 2", modify
      label def measure 19 "Bank None 2", modify
      label def measure 20 "Bank Current 2", modify

      Comment


      • #4
        Try
        Code:
        twoway (connected Percent Income1), by(Measure1) xlabel(, valuelabel)

        Comment


        • #5
          Thanks. That works. Is there a way to scale y-axis for some sub-graphs, so I can see the trend in graphs that have very low and slightly varying Percent change?

          Comment


          • #6
            You can easily let Stata decide the scale of axes for each sub-graph. See
            Code:
            help by_option

            Comment

            Working...
            X