https://www.jianshu.com/p/4f4daf47cc85
一、圖表預(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)圖
(一)、說明
線形圖又稱為曲線圖,是最常用的圖形類型。與傳統(tǒng)的繪圖軟件不同,Plotly沒有獨(dú)立的線形圖函數(shù),而是把線形圖與散點(diǎn)圖全部用Scatter函數(shù)實(shí)現(xiàn);
填充線形圖是線形圖的一種衍生,除了顯示本身的線條值,每個(gè)數(shù)據(jù)點(diǎn)還顯示該節(jié)點(diǎn)的最大值和最小值,并對(duì)中間的范圍進(jìn)行顏色填充。繪制過程分兩步:一部分是對(duì)三條可見線條進(jìn)行繪制;另一部分是對(duì)三條填充線條進(jìn)行繪制;
面積圖也是線形圖的一種衍生,使用Scatter函數(shù)進(jìn)行繪制,不同之處在于面積圖對(duì)于 fill 屬性的設(shè)置,相當(dāng)于在線形圖的基礎(chǔ)上對(duì)曲線與坐標(biāo)軸之間的區(qū)域進(jìn)行填充;
與基本面積圖的填充每條曲線不同,內(nèi)部填充面積圖,僅填充兩條曲線交叉所形成的面積部分,同樣通過設(shè)置 fill 屬性來完成,只需在基本面積圖的基礎(chǔ)上,設(shè)置第一條曲線無填充效果,即 fill=None,再設(shè)置第二條曲線的填充效果為 fill= 'tonexty';
堆積面積圖與層疊柱狀圖類似,都展示了數(shù)據(jù)累加的效果,不同之處在于對(duì)數(shù)據(jù)的設(shè)置:堆積面積圖需要的是累加數(shù)據(jù),而層疊柱狀圖只需要每部分的真實(shí)數(shù)據(jù)即可。因此,在繪制層疊柱狀圖時(shí)需要設(shè)置stack模式,而繪制堆積面積圖則不需要設(shè)置。本質(zhì)上,堆積面積圖的堆積效果是在同一個(gè)圖形中繪制多個(gè)面積圖來實(shí)現(xiàn);
Plotly沒有獨(dú)立的氣泡圖函數(shù),實(shí)現(xiàn)方法與散點(diǎn)圖的實(shí)現(xiàn)方法類似,修改散點(diǎn)圖中的點(diǎn)的大小,就變成了氣泡圖;
特別說明: Plotly繪圖函數(shù),無論是哪種類型的圖表,絕大部分參數(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ū)域,如果前面沒有曲線,則效果同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)畫圖表中,數(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)過全部的數(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,則縮小為原來的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è)置圖表畫布的寬度;
height:設(shè)置圖表畫布的高度;
paper_bgcolor:設(shè)置繪制圖形的紙張顏色。默認(rèn)值:"#fff" ;
plot_bgcolor:設(shè)置x軸和y軸之間的繪圖區(qū)域的顏色。默認(rèn)值:"#fff" ;
margin 設(shè)置 圖表的頁面邊距。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ā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,無論輸入數(shù)據(jù)是否為“非負(fù)”,無論輸入數(shù)據(jù)如何,范圍都是非負(fù)的。目前筆者用到過的場(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è)置刻度線長度,默認(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ū)挾?,默認(rèn)無;
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)的順序從零開始分配序列號(hào);
6)thickness:設(shè)置滑動(dòng)條的高度,作為總繪圖區(qū)域高度的一部分,默認(rèn)值:0.15 ;
7)visible:布爾值,默認(rèn)為True,設(shè)置滑動(dòng)條是否可見;
8)y:設(shè)置滑動(dòng)條的軸范圍是否與主圖中的值相同;rangeslider:設(shè)置范圍選擇按鈕,有如下設(shè)置項(xiàng):
1)visible:設(shè)置范圍選擇按鈕是否可見。特別說明:范圍選擇按鈕僅適用于數(shù)據(jù)為date或設(shè)置“type”為“date”的x軸;
2)buttons:設(shè)置按鈕,有如下設(shè)置項(xiàng):a、
visible:布爾值,設(shè)置此按鈕是否可見,默認(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",按則開始位置為“計(jì)數(shù)”乘以“步”,若設(shè)置為"todate" ,則開始位置返回當(dāng)年的開始日期;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ū)挾?,默認(rèn)無;
三、柱狀圖和水平條形圖
(一)、說明
Plotly繪制基本柱狀圖的重要函數(shù)是graph_objs中的Bar函數(shù),通過傳遞數(shù)據(jù),可以設(shè)置柱狀圖的樣式;
除基本柱狀圖外,還有柱狀簇,在基本柱狀圖的基礎(chǔ)上加入多組數(shù)據(jù)即可實(shí)現(xiàn)柱狀簇;
層疊柱狀圖的繪制與柱狀簇圖的繪制大同小異,相當(dāng)于對(duì)同一簇的柱狀圖進(jìn)行疊加,實(shí)現(xiàn)的方式是對(duì)Layout中的barmode屬性,設(shè)置barmode='stack',其余參數(shù)與柱狀簇圖相同;
瀑布式柱狀圖是層疊柱狀圖的一種衍生,通過選擇性地顯示層疊部分來實(shí)現(xiàn)柱狀圖的懸浮效果;
繪制水平條形圖與繪制柱狀圖唯一的區(qū)別:在 Bar 函數(shù)中設(shè)置orientation='h',其余參數(shù)與柱狀圖相同,也可以通過設(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:布爾變量,切換圖形顯示開關(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ù),特別說明如下設(shè)置項(xiàng):
domain:2個(gè)0~1之間的元素組成的列表,設(shè)置圖表占畫布的坐標(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)的箭頭;
四、直方圖
(一)、說明
繪制直方圖使用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ù)目之和。通過設(shè)置cumulative=dict(enabled=True)來實(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ū)間長度。
barmode:設(shè)置圖表的堆疊方式。為overlay時(shí)表示重疊直方圖;為stack表示層疊直方圖;
五、餅圖
(一)、說明
使用graph_objs中的 Pie() 函數(shù)繪制餅圖。其中,最常用的兩個(gè)屬性:values 設(shè)置可視化的數(shù)據(jù)、labels 設(shè)置不同數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽;
繪制環(huán)形餅圖,只需在 Pie() 函數(shù)中,通過屬性 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
六、表格
(一)、說明
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:單元格值的前綴;
suffix:單元格值的后綴;
height:單元格的高度,默認(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:單個(gè)或多個(gè)元素組成的列表,設(shè)置字體顏色,默認(rèn)為['#000000']。三個(gè)元素時(shí),分別設(shè)置表頭、奇數(shù)行、偶數(shù)行的字體顏色;也可以為每行設(shè)置不同的字體顏色;
七、多子圖
(一)、說明
繪制多子圖時(shí),有2種方法,推薦使用subplots.make_subplots()方法,通過遍歷數(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畫面布局函數(shù)主要用于設(shè)置圖形外觀,比如標(biāo)題、橫縱坐標(biāo)軸、圖例、圖形外邊距等屬性,這些屬性包括字體、顏色、尺寸等
Layout畫面布局函數(shù)功能強(qiáng)大,看起來很復(fù)雜,其實(shí)只要掌握了相關(guān)的參數(shù),設(shè)置很簡單,都是字典模式??梢允褂胔elp命令,查看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:顯示箭頭開關(guān)
text:文本
textangle:文本角度
visible:注解顯示開關(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”(畫紙模式),則注釋文字的x、y坐標(biāo)分別以畫紙左下角(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繪圖模塊庫中,設(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)開關(guān)
showbackground:顯示背景開關(guān)
showexponent:顯示指數(shù)開關(guān)
showgrid:顯示網(wǎng)格開關(guān)
showline:顯示線條開關(guān)
showspikes:顯示異常開關(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ù)長度
tickmode:刻度數(shù)據(jù)模式
tickprefix:刻度數(shù)據(jù)前綴
ticks:刻度數(shù)據(jù)顯示模式,包括 outside(刻度外)、inside(刻度內(nèi))、" "(無刻度)
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:零線寬
作者:惑也
鏈接:https://www.jianshu.com/p/4f4daf47cc85
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。








暫無數(shù)據(jù)