Thanks to helps from other statalist member, I have the code to draw the graph based on the imported data

The code
Code:
clear
input str30 var1 float(coefficients lowci highci)
"New_case_60%_spec1"  21.909 4.435 39.383
"60%_spec(2)" 25.035 10.462 39.608
"60%_spec(3)" 25.336 10.663 40.009

end

sort coefficients var1
mkmat coefficients lowci highci, mat(X)
mat X= X'
set scheme s1color
coefplot mat(X), ci((2 3)) xsc(r(. 1.2)) mlabcolor(none) ///
ylab(1 "60%_spec_1" 2 "60%_spec_2" 3 "60%_spec_3") ///
mlabel(string(@b,"%9.3f")+ " ("+string(@ll,"%9.3f") +" "+ string(@ul,"%9.3f")+")" )  ///
addplot(scatter @at @ul if @plot==1, ms(i) mlabel(@mlbl) pstyle(p1) || ///
scatter @at @ul if @plot==2, ms(i) mlabel(@mlbl) pstyle(p2))
The result
Array

Can you please let me know how to adjust the code to minimize the line horizontal scale to put all the number and line inside the square, and how to add an x-axis's name.
Many thanks and warm regards.