本文主要針對(duì)plotly的參數(shù)含義進(jìn)行說(shuō)明,隨著plotly版本的迭代更新扮匠,部分參數(shù)的用法會(huì)有細(xì)微變化棒搜,具體參加官方文檔
一力麸、圖表預(yù)覽
二筑舅、圖表類型
Angularaxis:極坐標(biāo)圖表
Area:區(qū)域圖表
Bar:條形圖
Box:盒形圖翠拣,又稱箱線圖误墓、盒子圖谜慌、箱圖
Candlestick與OHLC:金融行業(yè)常用的K線圖和OHLC曲線圖
ColorBar:彩條圖
Contour:輪廓圖欣范,又稱等高線圖
Choropleth:等值線圖
Line:線形圖
Heatmap:熱點(diǎn)圖
Histogram:直方圖
Histogram 2d:2D平面直方圖
Histogram 2d Contour:二維輪廓直方圖
Pie:餅圖恼琼,又稱扇形圖
Scatter:坐標(biāo)分布圖晴竞,包括散點(diǎn)圖和線形圖
三噩死、線形圖和散點(diǎn)圖
(一)已维、說(shuō)明
線形圖又稱為曲線圖垛耳,是最常用的圖形類型艾扮。與傳統(tǒng)的繪圖軟件不同泡嘴,Plotly沒(méi)有獨(dú)立的線形圖函數(shù)酌予,而是把線形圖與散點(diǎn)圖全部用Scatter函數(shù)實(shí)現(xiàn)抛虫;
填充線形圖是線形圖的一種衍生建椰,除了顯示本身的線條值棉姐,每個(gè)數(shù)據(jù)點(diǎn)還顯示該節(jié)點(diǎn)的最大值和最小值伞矩,并對(duì)中間的范圍進(jìn)行顏色填充乃坤。繪制過(guò)程分兩步:一部分是對(duì)三條可見(jiàn)線條進(jìn)行繪制湿诊;另一部分是對(duì)三條填充線條進(jìn)行繪制枫吧;
面積圖也是線形圖的一種衍生九杂,使用Scatter函數(shù)進(jìn)行繪制例隆,不同之處在于面積圖對(duì)于 fill 屬性的設(shè)置镀层,相當(dāng)于在線形圖的基礎(chǔ)上對(duì)曲線與坐標(biāo)軸之間的區(qū)域進(jìn)行填充唱逢;
與基本面積圖的填充每條曲線不同坞古,內(nèi)部填充面積圖痪枫,僅填充兩條曲線交叉所形成的面積部分,同樣通過(guò)設(shè)置 fill 屬性來(lái)完成附较,只需在基本面積圖的基礎(chǔ)上拒课,設(shè)置第一條曲線無(wú)填充效果捕发,即 fill=None扎酷,再設(shè)置第二條曲線的填充效果為 fill= 'tonexty'法挨;
堆積面積圖與層疊柱狀圖類似,都展示了數(shù)據(jù)累加的效果荐糜,不同之處在于對(duì)數(shù)據(jù)的設(shè)置:堆積面積圖需要的是累加數(shù)據(jù)暴氏,而層疊柱狀圖只需要每部分的真實(shí)數(shù)據(jù)即可答渔。因此沼撕,在繪制層疊柱狀圖時(shí)需要設(shè)置stack模式务豺,而繪制堆積面積圖則不需要設(shè)置冲呢。本質(zhì)上敬拓,堆積面積圖的堆積效果是在同一個(gè)圖形中繪制多個(gè)面積圖來(lái)實(shí)現(xiàn);
Plotly沒(méi)有獨(dú)立的氣泡圖函數(shù)营勤,實(shí)現(xiàn)方法與散點(diǎn)圖的實(shí)現(xiàn)方法類似葛作,修改散點(diǎn)圖中的點(diǎn)的大小赂蠢,就變成了氣泡圖虱岂;
特別說(shuō)明: Plotly繪圖函數(shù)第岖,無(wú)論是哪種類型的圖表,絕大部分參數(shù)的用法和含義基本一致键袱,本文著重介紹一下線性圖和散點(diǎn)圖的常用參數(shù)杠纵,其它圖表主要補(bǔ)充獨(dú)有的參數(shù)或常用參數(shù)比藻,相同的參數(shù)不再重復(fù)介紹银亲;
(三)务蝠、data參數(shù)
connectgaps:布爾變量轩拨,用于連接缺失數(shù)據(jù)亡蓉;
dx砍濒、dy:x爸邢、y坐標(biāo)軸的步進(jìn)值,默認(rèn)值是1感猛;
error_x陪白、error_y:x咱士、y出錯(cuò)信息序厉;
fillcolor:填充指定區(qū)域的顏色;
fill:設(shè)置要填充純色的區(qū)域文捶,默認(rèn)為none(不填充)粹排,其它設(shè)置項(xiàng)如下:
- tozerox 和 tozeroy 分別表示填充曲線到x=0和y=0的區(qū)域顽耳;
- tonextx 和 tonexty 分別表示填充曲線到x和y方向上的前一條曲線之間的區(qū)域膝迎,如果前面沒(méi)有曲線弄抬,則效果同tozerox 和 tozeroy;
- toself 表示將曲線的各端點(diǎn)連接成閉合的形狀;
- tonext 表示將2條曲線各端點(diǎn)均連接成閉合的形狀乎串,前提是一條曲線包圍另一條曲線叹誉;
- hoverinfo:當(dāng)用戶與圖表交互時(shí),鼠標(biāo)指針顯示的參數(shù)匠襟,包括:x酸舍、y
z (坐標(biāo)軸數(shù)據(jù))、text(文字信息)淮阐、name(圖形名稱)等參數(shù)的組合枝嘶,可以使用 +、all竞阐、none 和 skip作為組合連接符,默認(rèn)是all(全部消失); - hoveron:當(dāng)用戶與圖表交互時(shí),鼠標(biāo)指針顯示的模式疚察,共有3種模式:points(點(diǎn)圖)、fill(填充圖)岛抄、points+fill(點(diǎn)圖+填充圖)夫椭;
- ids:在動(dòng)畫(huà)圖表中,數(shù)據(jù)點(diǎn)和圖形key鍵的列表參數(shù)感凤;
- legendgroup:圖例參數(shù),默認(rèn)是空字符串族跛;
- line:線條參數(shù)礁哄,包括線條寬度夺脾、顏色咧叭、格式等,有如下設(shè)置項(xiàng):
- color:元組婉弹,元素為字符串顏色序列马胧,設(shè)置對(duì)應(yīng)圖表節(jié)點(diǎn)的顏色;
- width:數(shù)值蛙粘,設(shè)置線條寬度垫卤;
- dash:線條格式,包括:dash(虛短線)出牧、dot(虛點(diǎn))穴肘、dashdot(短線和點(diǎn));
- shape:進(jìn)行數(shù)據(jù)點(diǎn)的插值設(shè)置评抚,即根據(jù)已有的零散數(shù)據(jù)點(diǎn),找到一條滿足一定條件的曲線伯复,使之經(jīng)過(guò)全部的數(shù)據(jù)點(diǎn)慨代。共有6種插值方式:'linear'、'spline'啸如、'hv'侍匙、'vh'、'hvh'和'vhv叮雳。
- marker:數(shù)據(jù)節(jié)點(diǎn)參數(shù)想暗,包括大小、顏色帘不、格式等说莫,有如下設(shè)置項(xiàng):
- size:列表,元素為相應(yīng)節(jié)點(diǎn)的尺寸大心骸储狭;
- sizeref:縮放的比例互婿,如設(shè)置為2,則縮小為原來(lái)的1/2晶密;
- sizemode:縮放的標(biāo)準(zhǔn)擒悬,默認(rèn)以diameter(直徑)縮放,也可選擇以area(面積)縮放稻艰;
- mode:圖形格式懂牧,包括lines(線形圖)、markers(散點(diǎn)圖)尊勿、text(文本)僧凤。使用 + 或 none 等符號(hào)進(jìn)行模式組合;
- name:名稱參數(shù)元扔;
- opacity:透明度參數(shù)躯保,取值范圍0~1,表示相應(yīng)節(jié)點(diǎn)的透明度澎语;
- rsrc途事、xsrc、ysrc擅羞、tsrc尸变、idssrc、textsrc减俏、textpositionsrc:字符串源數(shù)組列表召烂,作為Plotly網(wǎng)格標(biāo)識(shí)符,用于設(shè)置特殊圖表所需的r參數(shù)娃承、x參數(shù)奏夫、y參數(shù)、t參數(shù)历筝、ids參數(shù)、text(文本)參數(shù)梳猪、textposition(文本位置)參數(shù)等仔雷;
- r、t:僅用于極坐標(biāo)圖舔示,r用于設(shè)置徑向坐標(biāo)(半徑)碟婆;t用于設(shè)置角坐標(biāo);
- showlegend:布爾變量惕稻,默認(rèn)True竖共,設(shè)置顯示圖例名稱。僅一條數(shù)據(jù)時(shí)俺祠,需要顯式地聲明才會(huì)顯示圖例公给;
- showscale:布爾變量借帘,設(shè)置是否顯示顏色跟蹤條,默認(rèn)為False淌铐;
- stream:數(shù)據(jù)流肺然,用于實(shí)時(shí)顯示數(shù)據(jù)圖表;
- textfont:文本字體參數(shù)腿准,包括字體名稱际起、顏色、大小等吐葱;
- textposition:“文本”元素的位置參數(shù)街望,包括:top left(左上)、top center(中上)弟跑、top right(右上)灾前、middle left(左中)、middle center(中心)孟辑、middle right(右中)哎甲、bottom left(左下)、bottom center(中下)饲嗽、bottom right(右下)模式烧给,默認(rèn)是middle center(中心)模式;
- text:文本數(shù)據(jù)喝噪,元素為相應(yīng)節(jié)點(diǎn)的懸浮文字內(nèi)容;
- type:數(shù)據(jù)顯示模式指么,包括:constant(常數(shù))酝惧、percent(百分比)、sqrt(平方根)伯诬、array(數(shù)組)模式晚唇;
- x0、y0:坐標(biāo)軸起點(diǎn)坐標(biāo)盗似;
- xcalendar哩陕、ycalendar:坐標(biāo)時(shí)間參數(shù)的格式,默認(rèn)是公歷赫舒;
- x悍及,y:設(shè)置x、y軸的坐標(biāo)數(shù)據(jù)接癌;
(三)心赶、layout參數(shù)
- title:設(shè)置圖表的標(biāo)題,如下配置項(xiàng):
- text:字符串缺猛,標(biāo)題內(nèi)容缨叫;
- font:設(shè)置標(biāo)題字體椭符。包含:字體、顏色耻姥、大小等销钝;
- x、y:取值0~1之間琐簇,設(shè)置在標(biāo)準(zhǔn)化坐標(biāo)中位置蒸健,0.5為居中;
- xanchor:設(shè)置標(biāo)題相對(duì)于x位置的水平對(duì)齊方式鸽嫂,有如下取值:"auto" | "left" | "center" | "right" 纵装;
- yanchor:設(shè)置標(biāo)題相對(duì)于y位置的垂直對(duì)齊方式,有如下取值:"auto" | "top" | "middle" | "bottom" 据某;
6.pad:設(shè)置標(biāo)題的填充橡娄。
- legend:設(shè)置圖例的字體、顏色癣籽、位置等挽唉,包括如下設(shè)置項(xiàng):
- x、y:數(shù)值筷狼,表示圖例在坐標(biāo)內(nèi)的位置瓶籽;
- bordercolor:設(shè)置圖例外邊框顏色;
- borderwidth:設(shè)置圖例外邊框的線條寬度埂材;
width:設(shè)置圖表畫(huà)布的寬度塑顺;
height:設(shè)置圖表畫(huà)布的高度;
paper_bgcolor:設(shè)置繪制圖形的紙張顏色俏险。默認(rèn)值:"#fff" 严拒;
plot_bgcolor:設(shè)置x軸和y軸之間的繪圖區(qū)域的顏色。默認(rèn)值:"#fff" 竖独;
margin 設(shè)置 圖表的頁(yè)面邊距裤唠。1) 主要的4個(gè)參數(shù):1、r莹痢、t种蘸、b,分別對(duì)應(yīng):左右上下竞膳,除了上(t)默認(rèn)值為100航瞭,其它默認(rèn)值均為80;2) pad:設(shè)置繪圖區(qū)域和軸線之間的填充量坦辟,默認(rèn)值為0沧奴;3) autoexpand:布爾型,表示是否默認(rèn)自動(dòng)长窄;
dragmode:設(shè)置拖動(dòng)交互的模式滔吠,默認(rèn)為"zoom" 纲菌,包括: "zoom" | "pan" | "select" | "lasso" | "orbit" | "turntable" | False〈粒“select”和“l(fā)asso”僅適用于使用標(biāo)記或文本散布痕跡翰舌。“軌道”和“轉(zhuǎn)盤”僅適用于3D場(chǎng)景冬骚;
xaxis椅贱、yaxis:設(shè)置x、y 坐標(biāo)軸參數(shù)只冻,包括如下設(shè)置項(xiàng):
- title:設(shè)置坐標(biāo)軸的標(biāo)題庇麦,包括標(biāo)題內(nèi)容、字體喜德、顏色山橄、大小等;
- tickformat:設(shè)置刻度線標(biāo)簽格式舍悯,如:',' 可以顯示千分位標(biāo)示航棱;'YYYY-MM-DD'可以將日期格式化為類似 2019-01-01;
- ticksuffix:設(shè)置刻度標(biāo)簽后綴字符串萌衬;
- tickprefix:設(shè)置刻度標(biāo)簽前綴字符串饮醇;
- type:設(shè)置軸類型。默認(rèn)情況下('-')秕豫,通過(guò)查看引用相關(guān)軸的跡線數(shù)據(jù)朴艰,嘗試確定軸類型,有如下取值:"-" | "linear" | "log" | "date" | "category" | "multicategory"
- showline:布爾值混移,確定是否顯示坐標(biāo)軸直線祠墅;
- zeroline : 布爾值,確定是否在該軸的0值處繪制垂直的直線沫屡;
- linecolor:坐標(biāo)軸線的顏色;
- linewidth:坐標(biāo)軸線的寬度撮珠;
- range:列表沮脖,設(shè)置坐標(biāo)軸的取值范圍;
- overlaying:設(shè)置相同的坐標(biāo)軸id(雙坐標(biāo))芯急;
- rangemode:根據(jù)輸入數(shù)據(jù)的極值計(jì)算范圍勺届。默認(rèn)為"normal",取值為“tozero”`娶耍,則范圍擴(kuò)展為0免姿,無(wú)論輸入數(shù)據(jù)是否為“非負(fù)”,無(wú)論輸入數(shù)據(jù)如何榕酒,范圍都是非負(fù)的胚膊。目前筆者用到過(guò)的場(chǎng)景:雙Y坐標(biāo)軸時(shí)故俐,實(shí)現(xiàn)Y軸的0刻度線對(duì)齊;
- side:設(shè)置坐標(biāo)軸在繪圖區(qū)域的位置紊婉,共4個(gè)取值:top药版、bottom(默認(rèn))、left喻犁、right槽片;
- autotick:布爾變量,是否刪除部分日期肢础,F(xiàn)alse為保持原狀还栓;
- ticks:是否繪制刻度線,包括:outside(外部)传轰、inside(內(nèi)部)剩盒,默認(rèn)為空(' '),不顯示刻度線路召;
- ticklen:設(shè)置刻度線長(zhǎng)度勃刨,默認(rèn)為5;
- tickwidth:設(shè)置刻度線寬度股淡,默認(rèn)為1身隐;
- tickcolor:設(shè)置刻度線顏色,默認(rèn)值:"#444" 唯灵;
- tickfont:設(shè)置刻度線標(biāo)簽字體贾铝,包括字體、顏色埠帕、大泄缚;
- nticks:設(shè)置坐標(biāo)軸的最大刻度個(gè)數(shù)敛瓷;
- showticklabels:布爾變量叁巨,默認(rèn)為True,確定是否繪制刻度標(biāo)簽呐籽;
- showgrid:布爾值锋勺,確定是否繪制網(wǎng)格線。如果為“True”狡蝶,則在每個(gè)刻度線處繪制網(wǎng)格線庶橱;
- gridcolor:設(shè)置網(wǎng)格線的顏色;
- gridwidth:設(shè)置網(wǎng)格線的寬度贪惹;
- rangeslider:設(shè)置滑動(dòng)條苏章,有如下設(shè)置項(xiàng):
1)bgcolor:設(shè)置滑動(dòng)條的背景顏色,默認(rèn)值:"#fff" ;
2)bordercolor:設(shè)置滑動(dòng)條的邊框顏色枫绅,默認(rèn)值:"#444" 泉孩;
3)borderwidth:設(shè)置滑動(dòng)條的邊框?qū)挾龋J(rèn)無(wú)撑瞧;
4)autorange:布爾值棵譬,設(shè)置是否根據(jù)輸入數(shù)據(jù)計(jì)算滑動(dòng)條的范圍。如果提供range
预伺,則autorange
設(shè)置為“False”订咸;
5)range:列表,設(shè)置滑動(dòng)條的范圍酬诀。如果未設(shè)置脏嚷,則默認(rèn)為完整的x軸范圍。如果軸type
是“l(fā)og”瞒御,則必須設(shè)置范圍父叙;如果軸type
是“date”,則它應(yīng)該是日期字符串或日期數(shù)據(jù)肴裙,Plotly對(duì)時(shí)間序列的支持比較友好趾唱,既支持字符串格式,又支持日期/時(shí)間格式蜻懦;如果軸“type”是“ category”甜癞,它應(yīng)該是數(shù)字或比例,其中每個(gè)類別按其出現(xiàn)的順序從零開(kāi)始分配序列號(hào)宛乃;
6)thickness:設(shè)置滑動(dòng)條的高度悠咱,作為總繪圖區(qū)域高度的一部分,默認(rèn)值:0.15 征炼;
7)visible:布爾值析既,默認(rèn)為True,設(shè)置滑動(dòng)條是否可見(jiàn)谆奥;
8)y:設(shè)置滑動(dòng)條的軸范圍是否與主圖中的值相同眼坏; - rangeslider:設(shè)置范圍選擇按鈕,有如下設(shè)置項(xiàng):
1)visible:設(shè)置范圍選擇按鈕是否可見(jiàn)酸些。特別說(shuō)明:范圍選擇按鈕僅適用于數(shù)據(jù)為date或設(shè)置“type”為“date”的x軸宰译;
2)buttons:設(shè)置按鈕,有如下設(shè)置項(xiàng):
a擂仍、
visible:布爾值囤屹,設(shè)置此按鈕是否可見(jiàn)熬甚,默認(rèn)為True逢渔;
b、
step:設(shè)置按鈕的時(shí)間單位乡括,默認(rèn)為"month" 肃廓,包括如下取值:"month" | "year" | "day" | "hour" | "minute" | "second" | "all" 智厌;
c、
count:數(shù)值盲赊,默認(rèn)為1铣鹏,用于設(shè)置按鈕時(shí)間單位的數(shù)量,與step
一起使用哀蘑,指定該按鈕的時(shí)間篩選范圍诚卸;
d、
stepmode:設(shè)置時(shí)間范圍的更新模式绘迁,默認(rèn)為"backward"合溺,按則開(kāi)始位置為“計(jì)數(shù)”乘以“步”,若設(shè)置為"todate" 缀台,則開(kāi)始位置返回當(dāng)年的開(kāi)始日期棠赛;
e、
label:設(shè)置按鈕上顯示的文本內(nèi)容膛腐;
3)x睛约、y:取值0~1之間,設(shè)置在標(biāo)準(zhǔn)化坐標(biāo)中位置哲身,0.5為居中辩涝;
4)xanchor:設(shè)置標(biāo)題相對(duì)于x位置的水平對(duì)齊方式,有如下取值:"auto" | "left" | "center" | "right" 律罢;
5)yanchor:設(shè)置標(biāo)題相對(duì)于y位置的垂直對(duì)齊方式膀值,有如下取值:"auto" | "top" | "middle" | "bottom" ;
6)font:設(shè)置標(biāo)題字體误辑。包含:字體沧踏、顏色、大小等巾钉;
7)bgcolor:設(shè)置范圍選擇按鈕的背景顏色翘狱,默認(rèn)值:"#eee" ;
8)bordercolor:設(shè)置范圍選擇按鈕的邊框顏色砰苍,默認(rèn)值:"#444" 潦匈;
9)borderwidth:設(shè)置范圍選擇按鈕的邊框?qū)挾龋J(rèn)無(wú)赚导;
三茬缩、柱狀圖和水平條形圖
(一)、說(shuō)明
Plotly繪制基本柱狀圖的重要函數(shù)是graph_objs中的Bar函數(shù)吼旧,通過(guò)傳遞數(shù)據(jù)凰锡,可以設(shè)置柱狀圖的樣式;
除基本柱狀圖外,還有柱狀簇掂为,在基本柱狀圖的基礎(chǔ)上加入多組數(shù)據(jù)即可實(shí)現(xiàn)柱狀簇裕膀;
層疊柱狀圖的繪制與柱狀簇圖的繪制大同小異,相當(dāng)于對(duì)同一簇的柱狀圖進(jìn)行疊加勇哗,實(shí)現(xiàn)的方式是對(duì)Layout中的barmode屬性昼扛,設(shè)置barmode='stack',其余參數(shù)與柱狀簇圖相同欲诺;
瀑布式柱狀圖是層疊柱狀圖的一種衍生抄谐,通過(guò)選擇性地顯示層疊部分來(lái)實(shí)現(xiàn)柱狀圖的懸浮效果;
繪制水平條形圖與繪制柱狀圖唯一的區(qū)別:在 Bar 函數(shù)中設(shè)置orientation='h'扰法,其余參數(shù)與柱狀圖相同斯稳,也可以通過(guò)設(shè)置barmode = 'stack'繪制層疊水平條形圖與瀑布式水平條形圖;
(二)迹恐、data參數(shù)
base:柱狀圖的起始參數(shù)挣惰;
textposition : 設(shè)置text的位置,包括 : "inside" | "outside" | "auto" | "none"殴边;
insidetextfont:內(nèi)置文本的字體格式參數(shù)憎茂;
outsidetextfont:外置文本的字體參數(shù);
offset:坐標(biāo)位移參數(shù)锤岸;
visible:布爾變量竖幔,切換圖形顯示開(kāi)關(guān);
width:列表是偷,設(shè)置柱狀圖的條形寬度拳氢;
(三)、layout參數(shù)
barmode : 設(shè)置相同坐標(biāo)的條形圖位置蛋铆。包括 : stack(疊加)馋评、group(并列)、overlay(覆蓋)刺啦、relative(相對(duì))留特;
bargroupgap : 設(shè)置相同位置條形圖之間的間隙,范圍:0-1玛瘸;
bargap : 設(shè)置相鄰位置條形圖之間的間隙蜕青,范圍:0-1;
orientation:圖形顯示方向參數(shù)糊渊,包括:v (垂直模式)和 h(水平模式)右核;
traceorder:設(shè)置圖例顯示順序, 包括:"reversed"渺绒,"grouped"贺喝,"reversed+grouped"磷瘤,"normal"
xaxis、yaxis:設(shè)置x搜变、y 坐標(biāo)軸參數(shù),特別說(shuō)明如下設(shè)置項(xiàng):
- domain:2個(gè)0~1之間的元素組成的列表针炉,設(shè)置圖表占畫(huà)布的坐標(biāo)軸范圍挠他;
- dtick:設(shè)置坐標(biāo)軸刻度的間隔區(qū)間;
- annotations:設(shè)置數(shù)據(jù)注釋篡帕,主要包括如下設(shè)置項(xiàng):
- xref殖侵、yref:設(shè)置文本樣式;
- x镰烧、y:設(shè)置文本位置拢军;
- text:設(shè)置文本內(nèi)容;
- font:設(shè)置文本的格式怔鳖,包括字體茉唉、大小、顏色等结执;
- showarrow:布爾值度陆,是否添加從標(biāo)簽到數(shù)據(jù)點(diǎn)的箭頭;
四献幔、直方圖
(一)懂傀、說(shuō)明
繪制直方圖使用graph_objs包中的Histogram()函數(shù)。將數(shù)據(jù)賦值給x變量蜡感,即x = data蹬蚁,即可繪制基礎(chǔ)直方圖;若將數(shù)據(jù)賦值給y變量郑兴,則繪制水平直方圖犀斋;
在 Layout中,設(shè)置 barmode = 'overlay'時(shí)情连,為重疊直方圖(左右方向交疊)闪水;設(shè)置 barmode = 'stack'時(shí),為層疊直方圖(上下方向交疊)蒙具;
累積直方圖是直方圖的累積形式球榆,即第n+1個(gè)區(qū)間的展示數(shù)目是第n-1個(gè)區(qū)間的展示數(shù)目與第 n 個(gè)區(qū)間中實(shí)際樣本數(shù)目之和。通過(guò)設(shè)置cumulative=dict(enabled=True)來(lái)實(shí)現(xiàn)禁筏;
使用plotly.figure_factory 包中的 distplot()函數(shù)持钉,可以進(jìn)行直方圖和核函數(shù)估計(jì)的融合可視化,只需要將數(shù)據(jù)傳遞給distplot函數(shù)篱昔,即可完成相應(yīng)的繪圖每强。常用于服從柯西分布始腾、泊松分布、Gamma分布或指數(shù)分布的數(shù)據(jù)可視化空执;
(二)浪箭、data參數(shù)
- histnorm:設(shè)置縱坐標(biāo)顯示格式。有如下設(shè)置項(xiàng):
- 為空("")時(shí)表示:縱坐標(biāo)顯示落入?yún)^(qū)間的樣本數(shù)目辨绊,所有矩形的高相加為總樣本數(shù)量奶栖;
- 為percent 時(shí)表示:縱坐標(biāo)顯示落入?yún)^(qū)間的樣本占總體樣本的百分比,所有矩形的高相加為100%门坷;
- 為probability時(shí)表示:縱坐標(biāo)顯示落入?yún)^(qū)間的樣本頻率宣鄙;
- 為 density 時(shí)表示:每個(gè)小矩形的面積為落入?yún)^(qū)間的樣本數(shù)量,所有面積值相加為樣本總數(shù)默蚌;
- 為 probability density時(shí)表示:每個(gè)小矩形的面積為落入?yún)^(qū)間的樣本占總體的比例冻晤,所有面積值相加為1;
histfunc:指定分組函數(shù)绸吸,可選參數(shù)有:count鼻弧、sum、avg锦茁、min温数、max,依次安照落入?yún)^(qū)間的樣本蜻势,進(jìn)行計(jì)數(shù)撑刺、求和、求均值握玛、求最小值和最大值够傍;
orientation:設(shè)置圖形的方向,有v和h兩個(gè)可選參數(shù)挠铲,v表示垂直顯示冕屯,h表示水平顯示;
cumulative:累積直方圖參數(shù)拂苹,有如下設(shè)置項(xiàng):
- enabled:布爾型安聘,設(shè)置為True會(huì)顯示累積直方圖,設(shè)置為False則不對(duì)頻率或頻數(shù)進(jìn)行累積瓢棒;
- direction用于設(shè)置累積方向浴韭,確定頻率是從1~0(降序),還是從0~1(升序)脯宿;
- currentbin有三個(gè)選項(xiàng)念颈,即include、exclude连霉、half榴芳,為了防止偏差嗡靡,一般選擇half;
autobinx:布爾型窟感,是否自動(dòng)劃分區(qū)間讨彼;
nbinsx:整型,最大顯示區(qū)間數(shù)目柿祈;
xbins:設(shè)置劃分區(qū)間哈误。start設(shè)置起始坐標(biāo),end設(shè)置終止坐標(biāo)谍夭,size設(shè)置區(qū)間長(zhǎng)度。
barmode:設(shè)置圖表的堆疊方式憨募。為overlay時(shí)表示重疊直方圖紧索;為stack表示層疊直方圖;
五菜谣、餅圖
(一)珠漂、說(shuō)明
使用graph_objs中的 Pie() 函數(shù)繪制餅圖。其中尾膊,最常用的兩個(gè)屬性:values 設(shè)置可視化的數(shù)據(jù)媳危、labels 設(shè)置不同數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽;
繪制環(huán)形餅圖冈敛,只需在 Pie() 函數(shù)中待笑,通過(guò)屬性 hole 設(shè)置控制環(huán)形中心的空白大小即可實(shí)現(xiàn);
(二)抓谴、data參數(shù)
values:每個(gè)扇區(qū)的數(shù)值大心乎濉;
labels:列表癌压,餅圖中每一個(gè)扇區(qū)的文本標(biāo)簽仰泻;
hole:設(shè)置環(huán)形餅圖空白內(nèi)徑的半徑,取值0~1滩届。默認(rèn)值為0集侯,參數(shù)是與外徑的比值;
hoverinfo:當(dāng)用戶與圖表交互時(shí)帜消,鼠標(biāo)指針顯示的參數(shù)棠枉,包括如下任何組合:"label"、"text"泡挺、"value"术健、"percent","name"粘衬、"all"荞估、"none"或"skip"咳促,組合時(shí)用"+"拼接,默認(rèn)為"all" 勘伺。若設(shè)置了“none”或“skip”跪腹,則鼠標(biāo)懸停時(shí)不會(huì)顯示任何信息。但是飞醉,如果是設(shè)置了“none”冲茸,則仍會(huì)觸發(fā)單擊和懸停事件;
pull:列表缅帘,元素為0~1之間的數(shù)值轴术,默認(rèn)為0,用于設(shè)置各個(gè)扇區(qū)突出顯示的本例
sort:布爾變量钦无,是否進(jìn)行扇區(qū)排序逗栽;
rotation:扇區(qū)旋轉(zhuǎn)角度,范圍是0~360失暂,默認(rèn)值為0彼宠,即12點(diǎn)位置;
direction:設(shè)置餅圖方向弟塞。clockwise表示:順時(shí)針凭峡、counterclockwise(默認(rèn))表示:逆時(shí)針;
domain:設(shè)置餅圖的位置决记,適用于多個(gè)并列餅圖時(shí)摧冀;
name:多個(gè)并列子餅圖時(shí),設(shè)置子餅圖的名稱系宫;
type:聲明圖表類型按价,設(shè)置為pie;
pullsrc:各個(gè)扇區(qū)比例數(shù)組列表笙瑟;
dlabel:設(shè)置餅圖圖標(biāo)的步進(jìn)值楼镐,默認(rèn)值為1;
label0:設(shè)置一組扇區(qū)圖標(biāo)的起點(diǎn)數(shù)字往枷,默認(rèn)值為0
六框产、表格
(一)、說(shuō)明
- Plotly支持繪制表格圖表错洁,而且繪圖效果非常美觀秉宿;
- 在Plotly中,有2種方式可以繪制表格:Table()函數(shù) 和 create_table()函數(shù)屯碴;
(二)描睦、Table()函數(shù)
- header:表格的表頭,包括如下設(shè)置項(xiàng):
- values:列表导而,表頭的文本內(nèi)容忱叭;
- format:設(shè)置單元格值格式規(guī)則隔崎,類似坐標(biāo)軸的格式化參數(shù)tickformat;
- prefix:?jiǎn)卧裰档那熬Y韵丑;
- suffix:?jiǎn)卧裰档暮缶Y爵卒;
- height:?jiǎn)卧竦母叨龋J(rèn)值為28撵彻;
- align:字符串钓株、字符串組成的列表,設(shè)置框內(nèi)“文本”的水平對(duì)齊方式陌僵,包括:"left" | "center" | "right" 轴合,默認(rèn)為center;
- line:設(shè)置邊框的寬度和顏色碗短,包括2個(gè)子參數(shù):width和color受葛;
- fill:設(shè)置單元格填充顏色,默認(rèn)為white,它接受特定顏色或顏色數(shù)組或2D顏色數(shù)組。常用的顏色:darkslategray识藤、lightskyblue挖垛、lightcyan、paleturquoise婉支、lavender鸯隅、royalblue、paleturquoise向挖、white蝌以、grey、lightgrey何之;
- font:設(shè)置表頭的文字格式跟畅,包括字體、大小溶推、顏色徊件;
- cells:表格內(nèi)容的單元格值,設(shè)置項(xiàng)與 header的參數(shù)基本一致蒜危;
(三)虱痕、create_table()函數(shù)
- table_text:表格數(shù)據(jù),通常是一個(gè)DataFrame格式數(shù)據(jù)辐赞;
- index:布爾型部翘,默認(rèn)False,設(shè)置是否顯示索引列响委;
- index_title:字符串新思,默認(rèn)為空窖梁,當(dāng)index=True時(shí),設(shè)置索引列的列名表牢;
- colorscale:列表窄绒,設(shè)置背景填充顏色,默認(rèn)為[[0, '#66b2ff'], [.5, '#d9d9d9'], [1, '#ffffff']]崔兴。第一個(gè)元素為0的子列表彰导,用于設(shè)置第一行(表頭)和有索引時(shí)的第一列的背景填充顏色;第一個(gè)元素為0.5的子列表敲茄,用于設(shè)置表格內(nèi)容中奇數(shù)行的背景填充顏色位谋;第一個(gè)元素為1的子列表,用于設(shè)置表格內(nèi)容中偶數(shù)行的背景填充顏色堰燎;
- font_colors:?jiǎn)蝹€(gè)或多個(gè)元素組成的列表掏父,設(shè)置字體顏色,默認(rèn)為['#000000']秆剪。三個(gè)元素時(shí)赊淑,分別設(shè)置表頭、奇數(shù)行仅讽、偶數(shù)行的字體顏色陶缺;也可以為每行設(shè)置不同的字體顏色;
七洁灵、多子圖
(一)饱岸、說(shuō)明
繪制多子圖時(shí),有2種方法徽千,推薦使用subplots.make_subplots()方法苫费,通過(guò)遍歷數(shù)據(jù)的列名,實(shí)現(xiàn)將指定的列數(shù)據(jù)設(shè)置為指定位置的子圖表双抽;
特別地百框,當(dāng)繪制多個(gè)子餅圖時(shí),不支持上述方法牍汹,可以在go.Pie()中設(shè)置參數(shù)domain铐维,為不同的餅圖指定相應(yīng)的位置。當(dāng)然柑贞,其它類型的圖表在繪制多子圖時(shí)也可以使用該方法方椎;
(二)、subplots.make_subplots()
rows:設(shè)置圖表的子圖表行數(shù)钧嘶;
cols:設(shè)置圖表的子圖表列數(shù)棠众;
print_grid:是否打印子圖表的坐標(biāo);
subplot_titles:設(shè)置各個(gè)子圖表的標(biāo)題;
shared_xaxes:子圖表是否共享同一個(gè)橫坐標(biāo)軸
True或'columns':表示在同一列中的子圖之間共享軸闸拿;
'rows':表示在同一行的子圖中共享軸空盼;
'all':表示在網(wǎng)格中的所有子圖上共享軸;shared_yaxes:子圖表是否共享同一個(gè)縱坐標(biāo)軸
'columns':表示在同一列的子圖中共享軸新荤;
True或'rows':表示在同一行的子圖中共享軸揽趾;
'all':表示在網(wǎng)格中的所有子圖上共享軸;specs:分配子圖的區(qū)間苛骨,比較常用的參數(shù)篱瞎;
column_width或column_widths:0~1之間數(shù)字組成的列表,設(shè)置各個(gè)子圖的寬度痒芝;
row_height或row_heights:0~1之間數(shù)字組成的列表俐筋,設(shè)置各個(gè)子圖的高度;
八严衬、Plotly對(duì)象概覽
(一)澄者、2D平面繪圖對(duì)象
Angularaxis:極坐標(biāo)圖表
Area:區(qū)域圖
Bar:條形圖
Box:盒形圖,又稱箱線圖请琳、盒子圖粱挡、箱圖
Candlestick與OHLC:金融股票行業(yè)常用的K線圖與OHLC曲線圖
ColorBar:彩條圖
Contour:輪廓圖(等高線圖)
Choropleth:等值線圖
Line:曲線圖
Heatmap:熱點(diǎn)圖
Histogram:直方圖
Histogram 2d:2D平面直方圖
Histogram 2d Contour:二維輪廓直方圖
Pie:餅圖
Scatter:坐標(biāo)分布圖(包括線形圖、散點(diǎn)圖)
(二)俄精、3D平面繪圖對(duì)象
Scatter3D:3D立體散點(diǎn)圖(包括線形圖)
Surface:表面圖
Mesh3D:3D立體網(wǎng)格圖
Pointcloud:點(diǎn)云圖
(三)询筏、Maps地圖
ScatterGeo:基于GEO地圖模式的散點(diǎn)圖(包括線形圖)
Choropleth:立體等值線圖
Scattermapbox:基于地圖的散點(diǎn)圖
(四)、WebGL格式圖形
- ScatterGL嘀倒、WebGL格式散點(diǎn)圖(包括線形圖)
(五)屈留、圖表輔助工具
Axis:坐標(biāo)工具局冰,包括2D/3D平面坐標(biāo)测蘑、立體坐標(biāo)、極坐標(biāo)(AngularAxis)
Annotation:圖表注釋工具
Error:誤差調(diào)整工具康二,包括x碳胳、y、z三種坐標(biāo)的誤差修正
Figure:圖形整合工具
Font:字體工具
Legend:圖例工具
Layout:圖表布局函數(shù)
Margin:圖表邊緣間距工具
Marker:標(biāo)記工具
RadialAxis:縱橫比調(diào)整工具
Array:數(shù)據(jù)坐標(biāo)列表
Data:圖表數(shù)據(jù)整合工具
Stream:實(shí)時(shí)圖表數(shù)據(jù)流工具
Scene:場(chǎng)景工具
Scatterternary:散點(diǎn)三元圖
XBins沫勿、YBins:x軸挨约、y軸輔助參數(shù)
(六)、Layout布局函數(shù)
Layout畫(huà)面布局函數(shù)主要用于設(shè)置圖形外觀产雹,比如標(biāo)題诫惭、橫縱坐標(biāo)軸、圖例蔓挖、圖形外邊距等屬性夕土,這些屬性包括字體、顏色、尺寸等
Layout畫(huà)面布局函數(shù)功能強(qiáng)大怨绣,看起來(lái)很復(fù)雜角溃,其實(shí)只要掌握了相關(guān)的參數(shù),設(shè)置很簡(jiǎn)單篮撑,都是字典模式减细。可以使用help命令赢笨,查看Layout函數(shù)的參數(shù)與屬性
angularaxis:角軸
annotations:注釋
autosize:自動(dòng)調(diào)整大小
bargap:條形圖柱間距
bargroupgap:條形圖柱組間距
barmode:條形圖模式
barnorm:條形圖參數(shù)
boxgap:盒子圖間距
boxgroupgap:盒子組間距
boxmode:箱型圖模式未蝌;
calendar:日歷
direction:方向
dragmode:圖形拖動(dòng)模式
font:字體
geo:地理參數(shù)
height:高度
hiddenlabels:隱藏圖標(biāo)
hiddenlabelssrc:隱藏圖標(biāo)參數(shù)數(shù)組列表
hidesources:隱藏?cái)?shù)據(jù)源
hovermode:鼠標(biāo)指針懸停模式
images:圖像
legend:圖標(biāo)
mapbox:地圖模式
margin:圖表邊緣間距
orientation:方向
paper_bgcolor:圖表桌布背景顏色
plot_bgcolor:圖表背景顏色
radialaxis:縱橫比
scene:場(chǎng)景
separators:分離參數(shù)
shapes:形狀
showlegend:圖例顯示
sliders:滑塊
smith:smith參數(shù)
ternary:三元參數(shù)
title:標(biāo)題
titlefont:標(biāo)題字體
updatemenus:菜單更新
width:寬度
xaxis、yaxis:分別表示x軸茧妒、y軸
(七)树埠、Annotation注釋函數(shù)
該函數(shù)用于為圖形整體和數(shù)據(jù)節(jié)點(diǎn)添加注解文本;
align:對(duì)齊方式
arrowcolor:箭頭顏色
arrowhead:箭頭模式嘶伟,共有9種模式
arrowsize:箭頭大小
arrowwidth:箭頭寬度
ax:x軸坐標(biāo)參數(shù)
axref:x軸坐標(biāo)輔助參數(shù)
ay:y軸坐標(biāo)參數(shù)
ayref:y軸坐標(biāo)輔助參數(shù)
bgcolor:背景顏色
bordercolor:邊框顏色
borderpad:邊框排列方式
borderwidth:邊框?qū)挾?/p>
font:字體
opacity:透明度
ref:輔助參數(shù)
showarrow:顯示箭頭開(kāi)關(guān)
text:文本
textangle:文本角度
visible:注解顯示開(kāi)關(guān)
x怎憋、y:x、y坐標(biāo)軸
xanchor九昧、yanchor:x軸坐標(biāo)錨點(diǎn)绊袋、y軸坐標(biāo)錨點(diǎn)
xref、yref:x軸坐標(biāo)參考參數(shù)铸鹰、y軸坐標(biāo)參考參數(shù)癌别。如果參考參數(shù)等于“paper”(畫(huà)紙模式),則注釋文字的x蹋笼、y坐標(biāo)分別以畫(huà)紙左下角(0, 0)為原點(diǎn)展姐、以右上角(1, 1)為坐標(biāo)最大值,x剖毯、y采用小數(shù)形式圾笨;如果參考參數(shù)等于“x”、“y”逊谋,則表示使用x擂达、y數(shù)據(jù)數(shù)組的坐標(biāo)參數(shù)作為注釋字符串的坐標(biāo)
(八)、Axis坐標(biāo)軸參數(shù)
Plotly繪圖模塊庫(kù)中胶滋,設(shè)置坐標(biāo)的參數(shù)有:xaxis(x軸參數(shù))板鬓、yaxis(y軸參數(shù))、zaxis(z軸參數(shù))
anchor:錨點(diǎn)
autorange:自動(dòng)范圍
autotick:自動(dòng)刻度
backgroundcolor:背景顏色
calendar:日歷模式
categoryarray:分類數(shù)據(jù)參數(shù)
categoryarraysrc:分類數(shù)據(jù)參數(shù)源
categoryorder:分類數(shù)據(jù)模式
color:顏色
domain:子圖表的范圍
dtick:分類數(shù)據(jù)坐標(biāo)刻度步進(jìn)值
exponentformat:指數(shù)格式
fixedrange:固定范圍
gridcolor:網(wǎng)格線顏色
gridwidth:網(wǎng)格線寬度
hoverformat:鼠標(biāo)指針懸停格式
linecolor:線條顏色
linewidth:線寬
mirror:鏡像模式究恤,包括true俭令、ticks、false部宿、all抄腔、allticks等屬性
nticks:刻度之間的間隔數(shù)
overlaying,圖層重疊
position:位置
range:坐標(biāo)軸取值范圍
rangemode:范圍模式
rangeselector:范圍選擇
rangeslider:范圍滑塊
separatethousands:千分位分隔
showaxeslabels:顯示x軸圖標(biāo)開(kāi)關(guān)
showbackground:顯示背景開(kāi)關(guān)
showexponent:顯示指數(shù)開(kāi)關(guān)
showgrid:顯示網(wǎng)格開(kāi)關(guān)
showline:顯示線條開(kāi)關(guān)
showspikes:顯示異常開(kāi)關(guān)
showticklabels:顯示刻度數(shù)據(jù)數(shù)組列表
showtickprefix:顯示刻度前綴數(shù)據(jù)數(shù)組列表
showticksuffix,顯示刻度后綴數(shù)據(jù)數(shù)組列表
side:邊緣參數(shù)
spikecolor:峰值數(shù)據(jù)顏色
spikesides:峰值數(shù)據(jù)滑塊
spikethickness:峰值數(shù)據(jù)厚度
tick0:刻度數(shù)據(jù)錨點(diǎn)
tickangle:刻度數(shù)據(jù)角度
tickcolor:刻度數(shù)據(jù)顏色
tickfont:刻度數(shù)據(jù)字體
tickformat:刻度數(shù)據(jù)格式化
ticklen:刻度數(shù)據(jù)長(zhǎng)度
tickmode:刻度數(shù)據(jù)模式
tickprefix:刻度數(shù)據(jù)前綴
ticks:刻度數(shù)據(jù)顯示模式妓柜,包括 outside(刻度外)箱季、inside(刻度內(nèi))、" "(無(wú)刻度)
ticksuffix:刻度數(shù)據(jù)后綴
ticktext:刻度數(shù)據(jù)文本
ticktextsrc:刻度數(shù)據(jù)文本數(shù)組列表
tickvals:刻度數(shù)據(jù)參數(shù)值數(shù)組列表
tickvalssrc:刻度數(shù)據(jù)參數(shù)值數(shù)據(jù)源數(shù)組列表
tickwidth:刻度數(shù)據(jù)寬度
title:標(biāo)題
titlefont:標(biāo)題字體
type:類型
zeroline:零線參數(shù)
zerolinecolor:零線顏色
zerolinewidth:零線寬