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)
10gbiz发布了9月优惠方案,针对VPS、独立服务器、站群服务器、高防服务器等均提供了一系列优惠方面,其中香港/洛杉矶CN2 GIA线路VPS主机4折优惠继续,优惠后最低每月仅2.36美元起;日本/香港独立服务器提供特价款首月1.5折27.43美元起;站群/G口服务器首月半价,高防服务器永久8.5折等。这是一家成立于2020年的主机商,提供包括独立服务器租用和VPS主机等产品,数据中心包括美国洛...
BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
mobilephonefreeXXX为你推荐
openeuleropen与close的区别及用法2020双十一成绩单2020双十一尾款如何合并付款?咏春大师被ko八极拳大师真的被咏春叶问打败了吗?八极咏春比优劣如何?谢谢.比肩工场大运比肩主事,运行长生地是什么意思?地陷裂口天上顿时露出一个大窟窿地上也裂开了,一到黑幽幽的深沟可以用什么四字词语来?同ip域名两个网站同一个IP怎么绑定两个域名lcoc.topoffsettop和scrolltop的区别www4399com4399小游戏 请记住本站网站 4399.urlwww.dm8.cc有谁知道海贼王最新漫画网址是多少??19ise.com欲火难耐看什么电影 19部性感至极的佳片
ip代理地址 德国vps 网通vps 美国独立服务器 virpus namecheap win8升级win10正式版 tightvnc 三拼域名 警告本网站美国保护 ftp教程 183是联通还是移动 免费全能主机 南通服务器 息壤代理 绍兴电信 上海服务器 美国盐湖城 万网空间 服务器硬件配置 更多