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)
BGPTO是一家成立于2017年的国人主机商,从商家背景上是国内的K总和有其他投资者共同创办的商家,主营是独立服务器业务。数据中心包括美国洛杉矶Cera、新加坡、日本大阪和香港数据中心的服务器。商家对所销售服务器产品拥有自主硬件和IP资源,支持Linux和Windows。这个月,有看到商家BGPTO日本和新加坡机房独服正进行优惠促销,折扣最低65折。第一、商家机房优惠券码这次商家的活动机房是新加坡...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...
欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...
mobilephonefreeXXX为你推荐
同一ip网站同一个IP不同的30个网站,是不是在一个服务器上呢?porndao单词prondao的汉语是什么5xoy.comhttp www.05eee.comwww4399com4399小游戏 请记住本站网站 4399.urlwww.175qq.com最炫的qq分组www.jizzbo.comwww.toubai.com是什么网站本冈一郎本冈一郎的官网说是日本相扑用的,我们平常的人增肥可以吗?彪言彪语( )言( )语的词语百度关键字百度推广关键词匹配方式有哪些?云鹏清藏头诗!急急急急急急急!谢谢啦!大师进
me域名注册 国外域名 上海服务器租用 深圳域名空间 vps代理 vps.net 哈喽图床 坐公交投2700元 爱奇艺会员免费试用 网站在线扫描 下载速度测试 服务器维护 lamp架构 cdn网站加速 杭州电信宽带优惠 阿里云邮箱个人版 好看的空间 七十九刀 学生机 winserver2008 更多