
- Plotly 教程
- Plotly - 首頁
- Plotly - 簡介
- Plotly - 環境設定
- Plotly - 線上和離線繪圖
- 在 Jupyter Notebook 中內聯繪圖
- Plotly - 包結構
- Plotly - 匯出為靜態影像
- Plotly - 圖例
- Plotly - 格式化軸和刻度
- Plotly - 子圖和嵌入圖
- Plotly - 條形圖和餅圖
- Plotly - 散點圖、Scattergl 圖和氣泡圖
- Plotly - 點圖和表格
- Plotly - 直方圖
- Plotly - 箱線圖、小提琴圖和等高線圖
- Plotly - Distplots、密度圖和誤差條形圖
- Plotly - 熱力圖
- Plotly - 極座標圖和雷達圖
- Plotly - OHLC 圖、瀑布圖和漏斗圖
- Plotly - 3D 散點圖和曲面圖
- Plotly - 新增按鈕/下拉選單
- Plotly - 滑塊控制元件
- Plotly - FigureWidget 類
- Pandas 和 Cufflinks 配合 Plotly 使用
- Matplotlib 和 Chart Studio 配合 Plotly 使用
- Plotly 有用資源
- Plotly - 快速指南
- Plotly - 有用資源
- Plotly - 討論
Plotly - 點圖和表格
在這裡,我們將學習 Plotly 中的點圖和表格功能。首先,讓我們從點圖開始。
點圖
點圖在非常簡單的刻度上顯示點。它只適用於少量資料,因為大量點會使其看起來非常雜亂。點圖也稱為克利夫蘭點圖。它們顯示兩個(或多個)時間點或兩個(或多個)條件之間的變化。
點圖類似於水平條形圖。但是,它們可能不那麼雜亂,並且可以更容易地比較不同條件。該圖繪製了一個散點軌跡,其 mode 屬性設定為 markers。
以下示例顯示了印度獨立後每次人口普查中記錄的男性和女性識字率的比較。圖表中的兩條軌跡分別代表了 1951 年到 2011 年每次人口普查中男性和女性的識字率百分比。
from plotly.offline import iplot, init_notebook_mode init_notebook_mode(connected = True) census = [1951,1961,1971,1981,1991,2001, 2011] x1 = [8.86, 15.35, 21.97, 29.76, 39.29, 53.67, 64.63] x2 = [27.15, 40.40, 45.96, 56.38,64.13, 75.26, 80.88] traceA = go.Scatter( x = x1, y = census, marker = dict(color = "crimson", size = 12), mode = "markers", name = "Women" ) traceB = go.Scatter( x = x2, y = census, marker = dict(color = "gold", size = 12), mode = "markers", name = "Men") data = [traceA, traceB] layout = go.Layout( title = "Trend in Literacy rate in Post independent India", xaxis_title = "percentage", yaxis_title = "census" ) fig = go.Figure(data = data, layout = layout) iplot(fig)
輸出將如下所示:

Plotly 中的表格
Plotly 的 Table 物件由go.Table()函式返回。表格軌跡是一個圖形物件,可用於在行和列網格中檢視詳細資料。表格使用列優先順序,即網格表示為列向量的向量。
go.Table()函式的兩個重要引數是header,它是表格的第一行,以及cells,它構成其餘的行。這兩個引數都是字典物件。headers 的 values 屬性是列標題的列表,以及列表的列表,每個列表對應一行。
透過 linecolor、fill_color、font 等屬性可以進行進一步的樣式自定義。
以下程式碼顯示了最近結束的 2019 年板球世界盃迴圈賽階段的積分榜。
trace = go.Table( header = dict( values = ['Teams','Mat','Won','Lost','Tied','NR','Pts','NRR'], line_color = 'gray', fill_color = 'lightskyblue', align = 'left' ), cells = dict( values = [ [ 'India', 'Australia', 'England', 'New Zealand', 'Pakistan', 'Sri Lanka', 'South Africa', 'Bangladesh', 'West Indies', 'Afghanistan' ], [9,9,9,9,9,9,9,9,9,9], [7,7,6,5,5,3,3,3,2,0], [1,2,3,3,3,4,5,5,6,9], [0,0,0,0,0,0,0,0,0,0], [1,0,0,1,1,2,1,1,1,0], [15,14,12,11,11,8,7,7,5,0], [0.809,0.868,1.152,0.175,-0.43,-0.919,-0.03,-0.41,-0.225,-1.322] ], line_color='gray', fill_color='lightcyan', align='left' ) ) data = [trace] fig = go.Figure(data = data) iplot(fig)
輸出如下所示:
表格資料也可以從 Pandas 資料框填充。讓我們建立一個逗號分隔檔案 (points-table.csv),如下所示:
隊伍 | 場次 | 勝 | 負 | 平 | 無結果 | 積分 | 淨得分率 |
---|---|---|---|---|---|---|---|
印度 | 9 | 7 | 1 | 0 | 1 | 15 | 0.809 |
澳大利亞 | 9 | 7 | 2 | 0 | 0 | 14 | 0.868 |
英格蘭 | 9 | 6 | 3 | 0 | 0 | 14 | 1.152 |
紐西蘭 | 9 | 5 | 3 | 0 | 1 | 11 | 0.175 |
巴基斯坦 | 9 | 5 | 3 | 0 | 1 | 11 | -0.43 |
斯里蘭卡 | 9 | 3 | 4 | 0 | 2 | 8 | -0.919 |
南非 | 9 | 3 | 5 | 0 | 1 | 7 | -0.03 |
孟加拉國 | 9 | 3 | 5 | 0 | 1 | 7 | -0.41 |
Teams,Matches,Won,Lost,Tie,NR,Points,NRR India,9,7,1,0,1,15,0.809 Australia,9,7,2,0,0,14,0.868 England,9,6,3,0,0,12,1.152 New Zealand,9,5,3,0,1,11,0.175 Pakistan,9,5,3,0,1,11,-0.43 Sri Lanka,9,3,4,0,2,8,-0.919 South Africa,9,3,5,0,1,7,-0.03 Bangladesh,9,3,5,0,1,7,-0.41 West Indies,9,2,6,0,1,5,-0.225 Afghanistan,9,0,9,0,0,0,-1.322
現在,我們從這個 csv 檔案構建一個數據框物件,並使用它來構建表格軌跡,如下所示:
import pandas as pd df = pd.read_csv('point-table.csv') trace = go.Table( header = dict(values = list(df.columns)), cells = dict( values = [ df.Teams, df.Matches, df.Won, df.Lost, df.Tie, df.NR, df.Points, df.NRR ] ) ) data = [trace] fig = go.Figure(data = data) iplot(fig)
廣告