1PharmaSUG2015-PaperDV02CreatingSophisticatedGraphicsusingGraphTemplateLanguageKaitlynMcConville,Rho,Inc.
,ChapelHill,NCKristenMuch,Rho,Inc.
,ChapelHill,NCABSTRACTGraphTemplateLanguage(GTL)isanexcellenttoolforcustomizingtheunderlyingattributesofgraphicsproducedbytheSGPLOT/SGPANELprocedures.
However,manyfindlearningthisrelativelynew(inproductionsinceSAS9.
2)languageachallenge.
Thispaperwilltakeanexamplebasedapproachtocreatingcomplexsingle-andmulti-cellstatisticalgraphics.
FocuswillbeplacedonsyntaxandoptionsavailableinGTL,overlayinggraphsofdifferenttypes,andcreatinggraphswithmorecomplexlayouts.
TheexamplesprovidedusingdatafromtheImmuneToleranceNetwork(ITN)andAutoimmuneDiseaseClinicalTrials(ADCT)willenableyoutotakeyourgraphstothenextlevelusingGTL.
INTRODUCTIONPresentingdatagraphicallyisoftenoneofthebestwaystobetterunderstandclinicaltrialresults.
Theneedforsuccinctandinformativegraphsbecomesparticularlyimportantinthemanuscriptdevelopmentprocess.
Whenworkingonamanuscript,statisticalprogrammersandresearchinvestigatorsworktogethertoidentifywhichdataaremostimportantforinclusioninamanuscriptgraphic.
Furthermore,theseindividualsworkcollaborativelytodefinethespecificdetailsthatwillbeincludedineachgraph.
Thisistypicallyabackandforthprocesswheretheresearchinvestigatorsoftenaskthestatisticalprogrammerstoproduceand/orcustomizethegraphsbeyondthecapabilitiesoftheSGPLOT/SGPANELprocedures.
Toovercomethisissue,statisticalprogrammersoftenrelyonGTLtomeettheneedsoftheresearchinvestigators.
GTLisapowerfultoolthatallowsforagreatdealofcustomizationthroughplotlayeringandtheabilitytoarrangemultipleplottypesinasinglegraph.
ThispaperwillnotonlydescribethebasictoolsyouneedtocreateagraphwithGTLbutwillalsoexplore3specificexamplesofgraphsdevelopedformanuscriptpublication.
GTLOVERVIEWInGTL,graphsarebuiltbyusingplotandlayoutstatements.
Theplotstatementsdeterminehowdataarerepresentedinthegraphandthelayoutstatementsdeterminewheretheplotsaredrawnonthegraph.
Moreadvancedlayoutscanbeusedtodividetheplotareaintomultipleindependentcells.
Inaddition,statementscanbenestedsomultipleplotscanbelayeredtocreatehighlycustomizablegraphs.
CreatingagraphinGTLisatwo-stepprocessthatinvolvestheTEMPLATEandSGRENDERprocedures.
ThecodebelowoutlinesthebasiccomponentsneededforgraphcreationwithGTL.
Step1:DefinetheGraphwiththeTEMPLATEprocedureproctemplate;definestatgraph;begingraph/;;endgraph;end;run;TheTEMPLATEproceduredefinesthestructureofthegraphandwillalsocompileandsavethetemplate.
Thiscodealonewillnotcreatethegraph.
TheBEGINGRAPHandENDGRAPHstatementsdefinetheoutermostcontainerforthegraphandmustcontainalloftheGTLstatements.
Step2:ProducetheGraphwiththeSGRENDERprocedureprocsgrenderdata=template=;run;TheSGRENDERprocedurewillassociatedatawiththepredefinedtemplateandcreatethegraph.
Ifnecessary,thesametemplatecanbeusedwithmultiple,compatibledatasetstocreateadditionalgraphs.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued2TheSAScodebelowcombinesthestepsabovetocreateascatterplotofheightversusweightbysex.
proctemplate;definestatgraphexample;begingraph;layoutoverlay;scatterplotx=heighty=weight/group=sexmarkerattrs=(symbol=circlefilled)name="legend";discretelegend"legend"/title="Sex";endlayout;endgraph;end;run;procsgrenderdata=datasetnametemplate=example;run;Figure2.
ScatterplotUsingGTLShortcut!
StillintimidatedOnehelpfultoolforgettingstartedwithGTListousetheTMPLOUToptionintheSGPLOTprocedure.
ThiscreatesaSASprogramwiththeGTLcodeforthespecifiedgraph.
Anexampleisprovidedbelow:procsgplotdata=prep0tmplout='GTL_Code.
sas';histogramt2vol;run;RunningtheabovecodewiththeTMPLOUToptionwilloutputanewprogramcalledGTL_Code.
sastoyourcurrentfolderdirectory.
ThisprogramcontainsthefollowingGTLcode,whichwillproducethesamehistogramfromtheaboveSGPLOTprocedure:proctemplate;definestatgraphsgplot;begingraph/;layoutoverlay;HistogramT2VOL/primary=truebinaxis=falseLegendLabel="T2LesionVolume";endlayout;endgraph;end;run;ThisoptionallowsuserstostartwithfamiliarSGPLOTorSGPANELcodeinordertooutputtheGTLframeworkfromCreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued3whichtheplotcanbefurthercustomized.
NowthatthebasicsofGTLhavebeenreviewed,let'slookintosomeexamplesthathighlightthemoreadvancedcapabilitiesofGTL.
EXAMPLE1:SCATTERPLOTOVERLAIDONBOXPLOTWhileyoucanoverlaymanydifferenttypesofplotsusingSGPLOT/SGPANELprocedures,youcannotoverlayscatterplotsonboxplots.
TheVBOXandSCATTERstatementsareincompatiblesorunningbothstatementswithinthesameSGPLOTprocedureshownbelowwillresultinthefollowingmessage:procsgplotdata=datasetname;vboxauc/group=trt;scatterx=trty=auc;run;ERROR:Attemptingtooverlayincompatibleplotorcharttypes.
GTLgivesusersthecapabilitytooverlaytheseplotswithfairlysimplesyntax.
Figure2belowshowsscatterplotsoverlaidonboxplotsovertimebytreatmentanddemonstratesthefollowingfeatures:OVERLAYstatementforoverlayingthescatterplotontopoftheboxplotEVALfunctionforjitteringthepointsalongthex-axisDRAWTEXTstatementforeasyannotationMERGEDLEGENDstatementforcombiningmultiplegraphidentifiersintooneBracesareusedthroughoutthepapertohighlightthenestinginthecode.
Forcodethatwastoolongtodisplaywithinthemaintextofthepaper,wasused.
Theexactcodeforeachisincludedintheappendix.
Figure2.
ScatterplotOverlaidonBoxplotCreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued4TheSAScodetoproduceFigure2canbefoundbelow.
proctemplate;definestatgraphscatterbox;begingraph;entrytitle"AreaUndertheCurve(pmol/mL)overTimebyTreatmentGroup";layoutoverlay/xaxisopts=()yaxisopts=();drawtexttextattrs=(size=8pt)"TreatmentDifference:&treat_auc.
"/;drawtexttextattrs=(size=8pt)"TimeTrend:&time_auc.
"/;drawtexttextattrs=(size=8pt)"TreatmentbyTime:&trtbtime_auc.
"/;drawtexttextattrs=(size=8pt)"N=&n0_auc.
"/;drawtexttextattrs=(size=8pt)"p-value=&p0_auc.
"/;drawtexttextattrs=(size=8pt)"N=&n6_auc.
"/;drawtexttextattrs=(size=8pt)"p-value=&p6_auc.
"/;;drawtexttextattrs=(size=8pt)"N=&n12_auc.
"/;drawtexttextattrs=(size=8pt)"p-value=&p12_auc.
"/;drawtexttextattrs=(size=8pt)"N=&n18_auc.
"/;drawtexttextattrs=(size=8pt)"p-value=&p18_auc.
"/;drawtexttextattrs=(size=8pt)"N=&n24_auc.
"/;drawtexttextattrs=(size=8pt)"p-value=&p24_auc.
"/;scatterplotx=eval(0.
4*rannor(57)+visitn2)y=auc/group=trtname="trt1";boxplotx=visitn2y=auc/group=trtdisplay=(capsmeanmedianconnect)connect=meanname="trt2";mergedlegend"trt1""trt2"/title="Treatment";endlayout;endgraph;end;run;procsgrenderdata=datasetnametemplate=scatterbox;run;OVERLAYInordertooverlaythescatterplotsontheboxplots,theLAYOUTOVERLAYstatementisused.
WithinLAYOUTOVERLAY,thereisastatementforeachtypeofgraphtobeoverlaid.
Inthiscase,therearestatementsforascatterplotandaboxplot,butthisprocedureisnotlimitedtooverlayingjustthesetwotypesofgraphs.
JITTERINGTHEPOINTSTorandomlyjitterthepointsalongthex-axis,theEVALfunctionspecifictoGTLisused.
IntheSCATTERPLOTstatement,xisdefinedasEVAL(0.
4*RANNOR(57)+VISITN2).
Ratherthancreatinganewxvariableinaseparatedatastep,EVALevaluatesthefunctionforuseinthegraph.
ThisfunctionrandomlyjitterseachpointalongthexaxisbyusingRANNORtoaddarandomvaluefromthenormaldistribution.
Themultiplierof0.
4isusedtocontrolthewidthofthejitteringsothatthepointsstaywithinthewidthoftheboxplot.
BOXPLOTFEATURESWithintheBOXPLOTstatement,thereareseveraloptionsavailabletofurthercustomizetheoutput.
TheDISPLAYoptionspecifiesthefeaturestheboxplotwilldisplay.
Inthiscase,theMEANandCONNECToptionsareusedtoconnectthemeansovertimebytreatmentgroup.
ADDINGTEXTOneoptionforgraphannotationistousetheDRAWTEXTstatement.
Inthiscase,thegraphsareannotatedwithp-valuesandcounts.
Textcanbewrittenanywhereonthegraphwithjustafewoptions—noneedforgoingthroughthehassleofdefininganannotatedataset!
Sincethetexttobedrawncouldchangeasthedatachange,annotationisdonewithpredefinedmacrovariables.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued5LEGENDCUSTOMIZATIONTheMERGEDLEGENDstatementcreatesalegendforthegraphthatrepresentsidentifiersfrombothgraphsmergedintoone.
InFigure2'Treatment1'iseithertheredlineorredcircle,dependingonifyouarereferencingtheboxplotorscatterplot.
Todisplaybothidentifiers,bothgraphstatementsmusthaveaNAMEidentifiedbecausethesenamesarecalledintheMERGEDLEGENDstatement.
EXAMPLE2:MULTI-CELLGRAPHWITHNESTEDLAYOUTLATTICEResearchinvestigatorsoftenrequesttocombinedifferenttypesofplotsintoasinglegraph.
TheLAYOUTLATTICEstatementcanbeusedtodividetheplotareaintoamulti-cellgridofgraphs.
Withineachcellofthelattice,additionallatticestatementscanbeusedtocreatecomplexlayoutconfigurations.
Figure3usesanestedlatticestatementtodisplaythreetypesofsummarygraphsfordifferentbaselineMRIcharacteristicsanddemonstratesthefollowingfeatures:LATTICEstatementforcreatingacomplexnestedlayoutGRIDDEDstatementtooverlaydescriptivestatisticsROWGUTTERandCOLUMNGUTTERoptionsforinsertinggapspaceFigure3.
Multi-cellGraphwithNestedLayoutLatticeTheSAScodetoproduceFigure3canbefoundbelow.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued6proctemplate;definestatgraphmri;begingraph;entrytitle'BaselineMRICharacteristics';layoutlattice/rows=1columns=2columnweights=(0.
60.
4)columngutter=.
5cm;layoutoverlay/yaxisopts=(griddisplay=on);histogramt2vol/binaxis=false;densityplott2vol/lineattrs=graphfitname='density'legendlabel='Normal';discretelegend'density'/location=insidehalign=leftvalign=top;layoutgridded/rows=5columns=2opaque=trueborder=trueautoalign=(topright);entryhalign=left'Mean';entryhalign=right"&mean";entryhalign=left'Std.
Dev';entryhalign=right"&std";entryhalign=left'Median';entryhalign=right"&med";entryhalign=left'Min';entryhalign=right"&min";entryhalign=left'Max';entryhalign=right"&max";endlayout;endlayout;layoutlattice/rows=2columns=1rowgutter=.
5cm;layoutoverlay/yaxisopts=(griddisplay=onlinearopts=(tickvaluelist=(03691215)));barchartx=gadc;endlayout;layoutoverlay/xaxisopts=(linearopts=(viewmax=4));scatterplotx=t1voly=t2vol;endlayout;endlayout;endlayout;endgraph;end;run;procsgrenderdata=datasetnametemplate=mri;run;CREATINGTHECOMPLEXLAYOUTTheSAScodeaboveusesa1row,2columnLAYOUTLATTICEstatementwithanested2row,1columnLAYOUTLATTICEstatementtocreateaplotwith3distinctplotareas.
TheCOLUMNWEIGHTSoptionwiththeLAYOUTLATTICEstatementdesignatesthecolumnwidths.
Inotherwords,thisoptionspecifiesthefractionalproportionofeachcellrelativetotheoverallgridwidth.
Thenumberofentriesinthislistshoulddirectlycorrespondtothenumberofcolumnsandthesumoftheseweightsshouldbe1.
0.
AsimilaroptionforROWWEIGHTScanbeusedincaseswheretherearemultiplerowswithdifferentrowheightsdesired.
LAYOUTGRIDDEDFORDESCRIPTIVESTATISTICSLocatedontheleft,thefirstcellhasseveralplotstatementsoverlaid,whichincludesalegendforthenormaldensityplot.
Anested5row,2columnLAYOUTGRIDDEDstatementisusedtocreateaninsettableoftext.
ItisnestedwithintheLAYOUTOVERLAYalongwiththeotherplotstatements.
EachENTRYstatementintheLAYOUTGRIDDEDstatementbecomesarowinthetable.
Predefinedmacrovariablesareusedtodisplaytheappropriatedescriptivestatisticvalue.
OPTIONSFORCOSMETICUPDATESWhenusinganestedLAYOUTLATTICEstatement,thedefaultspacingbetweenplotscanmakethegraphappearcramped,particularlywhentheplotshaveaxislabels.
Inthiscase,theCOLUMNGUTTERandROWGUTTERoptionsareusedtoaddverticalandhorizontalgapspacebetweentheplots.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued7EXAMPLE3:MULTI-CELLPANELEDSERIESPLOTSWhenreportingclinicaltrialresultsinmanuscripts,thereisoftenalimittothenumberofdisplaysallowed.
Usingamulti-celllayoutiscrucialforgettingmultiplegraphsintoonedisplay.
Figure4showstheindividualtrajectoryforahandfulofsubjectsovertimeatdifferentvisitsfortwodistinctoutcomesanddemonstratesthefollowingfeatures:CombiningtheGRIDDED,DATAPANEL,andPROTOTYPElayoutstatementstocreateacomplexlayoutDISCRETELEGENDstatementforcustomizingthelookofthelegendFigure4.
Multi-cellPaneledSeriesPlotTheSAScodetoproduceFigure4canbefoundbelow.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued8proctemplate;definestatgraphtwobyone;begingraph/designwidth=11indesignheight=8.
5in;layoutgridded/rows=2columns=1rowgutter=15;drawtexttextattrs=(size=30pt)"A"/;drawtexttextattrs=(size=30pt)"B"/;layoutdatapanelclassvars=(id)/;layoutprototype;seriesplotx=visit0y=cpep/legendlabel="BaselineVisit"name="y0"lineattrs=();seriesplotx=visit6y=cpep/legendlabel="Month6Visit"name="y1"lineattrs=();seriesplotx=visit12y=cpep/legendlabel="Month12Visit"name="y2"lineattrs=();seriesplotx=visit18y=cpep/legendlabel="Month18Visit"name="y3"lineattrs=();seriesplotx=visit24y=cpep/legendlabel="Month24Visit"name="y4"lineattrs=();endlayout;endlayout;layoutdatapanelclassvars=(id)/;layoutprototype;seriesplotx=visit0y=glucose/lineattrs=();seriesplotx=visit6y=glucose/lineattrs=();seriesplotx=visit22y=glucose/lineattrs=();seriesplotx=visit18y=glucose/lineattrs=();seriesplotx=visit24y=glucose/lineattrs=();endlayout;endlayout;discretelegend"y0""y1""y2""y3""y4"/across=5border=truevalueattrs=(size=10pt);endlayout;endgraph;end;run;procsgrenderdata=datasetnametemplate=twobyone;run;CREATINGTHECOMPLEXLAYOUTThereareafewdifferentlayoutstatementsthatmakethisoutputpossible—GRIDDED,DATAPANEL,andPROTOTYPE.
TheGRIDDEDstatementtreatseachcellintheDATAPANELstatementindependentlyandenablesthestackingofthepaneledgraphsAandB.
TheDATAPANELstatementallowsuserstopanelgraphsbyaclassificationvariable.
Inthiscase,theCLASSVARissubjectid.
ThePROTOTYPEstatementmustbenestedwithintheDATAPANELstatementbecauseitinstructstheDATAPANELstatementwhattodisplayineachpaneloftheclassificationvariable.
Inthiscase,itprovidesinstructionsforfiveseparateseriesplots.
LEGENDCUSTOMIZATIONTheDISCRETELEGENDstatementcreatesalegendforthegraph,muchliketheMERGEDLEGENDstatement.
Withinaplotstatement,aNAMEmustbespecifiedbecauseitwillberequiredwhendefiningtheDISCRETELEGEND.
PairedwiththeNAMEstatement,aLEGENDLABELcanbeusedtospecifyhowthedatawillbelabeledwithinthelegend.
IfLEGENDLABELisnotspecified,thelabelforthevariablewillbeusedinstead.
CreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued9CONCLUSIONGTLisanextremelypowerfultoolallowsuserstoproducehighlycustomizablegraphs.
Ithasalsobeenproventobeinvaluablewhenworkingwithresearchinvestigatorstocreategraphsforpublication.
Withtheabilitytonestlayoutstatementsandoverlaymultipleplotsofdifferenttypes,thepossibilitiesareseeminglyendless!
TheexamplesexploredinthispaperlaythefoundationyouneedtocreateyourowncomplexgraphsinGTL.
ACKNOWLEDGMENTSThisresearchwasperformedasaprojectoftheImmuneToleranceNetworkandtheStatisticalandClinicalCoordinatingCenterforAutoimmuneDiseaseClinicalTrials,whicharesupportedbytheNationalInstituteofAllergyandInfectiousDiseasesoftheNationalInstitutesofHealth(awardnumbersNO1-AI-15416,HSN272200800029CandHHSN272200900057C).
RECOMMENDEDREADINGMatange,Sanjay.
2014.
"UpYourGamewithGraphTemplateLanguageLayouts.
"ProceedingsofthePharmaSUG2014Conference.
Availableathttp://www.
pharmasug.
org/proceedings/2014/DG/PharmaSUG-2014-DG14-SAS.
pdf.
Matange,Sanjay.
October2013.
GettingStartedwiththeGraphTemplateLanguageinSAS:Examples,Tips,andTechniquesforCreatingCustomGraphs.
Cary,NC:SASInstitute.
CONTACTINFORMATIONYourcommentsandquestionsarevaluedandencouraged.
Contacttheauthorsat:Name:KaitlynMcConvilleEnterprise:Rho,Inc.
Address:6330QuadrangleDr.
City,StateZIP:ChapelHill,NC27517WorkPhone:919-408-8000Fax:919-408-0999E-mail:kaitlyn_mcconville@rhoworld.
comName:KristenMuchEnterprise:Rho,Inc.
Address:6330QuadrangleDr.
City,StateZIP:ChapelHill,NC27514WorkPhone:919-408-8000Fax:919-408-0999E-mail:kristen_much@rhoworld.
comSASandallotherSASInstituteInc.
productorservicenamesareregisteredtrademarksortrademarksofSASInstituteInc.
intheUSAandothercountries.
indicatesUSAregistration.
Otherbrandandproductnamesaretrademarksoftheirrespectivecompanies.
APPENDIXEXAMPLE1display=(tickvalues)linearopts=(tickvaluelist=(16121824)viewmin=0viewmax=26tickvalueformat=vis.
)display=(labeltickvalues)linearopts=(tickvaluelist=(0.
511.
522.
53)viewmin=-.
5viewmax=3)anchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=-1y=92justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=-1y=89.
5justify=leftCreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued10anchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=-1y=87justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=-1y=13.
5justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=-1y=11justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=4y=13.
5justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=4y=11justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=10y=13.
5justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=10y=11justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=16y=13.
5justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=16y=11justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=22y=13.
5justify=leftanchor=topleftwidth=80widthunit=percentxspace=datavalueyspace=graphpercentx=22y=11justify=leftmarkerattrs=circledatatransparency=0.
7EXAMPLE3anchor=bottomleftwidth=80widthunit=percentxspace=graphpercentyspace=graphpercentx=1y=95justify=centeranchor=bottomleftwidth=80widthunit=percentxspace=graphpercentyspace=graphpercentx=1y=47justify=centerCreatingSophisticatedGraphicsusingGraphTemplateLanguage,continued11rows=1columns=7rowaxisopts=(label='C-peptide(ng/ml)'linearopts=(tickvaluelist=(012345678)viewmin=0viewmax=8))columnaxisopts=(label='MMTTtimepoint'linearopts=(tickvaluelist=(0306090120)viewmin=-10viewmax=120))headerlabeldisplay=valuelineattrs=(pattern=1color=cmykFF970030)lineattrs=(pattern=1color=cmyk90149580)lineattrs=(pattern=1color=cmyk00FFFF00)lineattrs=(pattern=1color=cmyk37FF0026)lineattrs=(pattern=1color=cmyk0068FF00)rows=1rowaxisopts=(label='Glucose(mg/dL)'linearopts=(tickvaluelist=(0100200300400500)viewmin=0viewmax=500))columnaxisopts=(label='MMTTtimepoint'linearopts=(tickvaluelist=(0306090120)viewmin=-10viewmax=120))headerlabeldisplay=valuelineattrs=(pattern=1color=cmykFF970030)lineattrs=(pattern=1color=cmyk90149580)lineattrs=(pattern=1color=cmyk00FFFF00)lineattrs=(pattern=1color=cmyk37FF0026)lineattrs=(pattern=1color=cmyk0068FF00)
亚洲云Asiayun怎么样?亚洲云Asiayun好不好?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括B...
ZJI怎么样?ZJI是一家成立于2011年的商家,原名维翔主机,主要从事独立服务器产品销售,目前主打中国香港、日本、美国独立服务器产品,是一个稳定、靠谱的老牌商家。详情如下:月付/年付优惠码:zji??下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达香港葵湾特惠B型 CPU:E5-2650L核心:6核12线程内存:16GB硬盘:480GB SSD带宽:5Mbps...
俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...
mobilephonefreeXXX为你推荐
摩拜超15分钟加钱摩拜共享单车要交多少钱押金?摩根币JPM摩根币是什么?怎么赚钱是骗人的吗?嘉兴商标注册如何注册商标怎样商标注册同ip网站同IP网站9个越来越多,为什么?m.2828dy.com电影虫www.dyctv.com这个电影站能下载电影吗?百度指数词什么是百度指数partnersonline电脑内一切浏览器无法打开partnersonline我家Internet Explorer为什么开不起来www.idanmu.com新开奇迹SF|再创发布网|奇迹SF|奇迹mu|网通奇迹|电信奇迹|sodu.tw给个看免费小说的网站
空间域名 怎样注册域名 免费vps 草根过期域名 z.com 国外服务器 英语简历模板word 贵州电信宽带测速 申请空间 dd444 工作站服务器 网站卫士 南通服务器 能外链的相册 怎么建立邮箱 中国电信宽带测速器 个人免费主页 新加坡空间 php服务器 主机返佣 更多