資料視覺化是 資料 到 視覺元素 的對映過程(這個過程也可稱為視覺編碼,視覺元素也可稱為視覺通道)。
echarts 的每種圖表本身就內建了這種對映過程,比如折線圖把資料對映到『線』,柱狀圖把資料對映到『長度』。一些更複雜的圖表,如graph
、事件河流圖
、treemap
也都會做出他們內建的對映。
此外,echarts 還提供了visualmap
元件 來提供通用的視覺對映。visualmap 元件中可以使用的視覺元素有:
圖形類別(symbol)
、圖形大小(symbolsize)
顏色(color)
、透明度(opacity)
、顏色透明度(coloralpha)
、
顏色明暗度(colorlightness)
、顏色飽和度(colorsaturation)
、色調(colorhue)
下面對visualmap
元件的使用方式進行簡要的介紹。
echarts中的資料,一般存放於 series.data 中。根據圖表型別不同,資料的具體形式也可能有些許差異。比如可能是『線性表』、『樹』、『圖』等。但他們都有個共性:都是『資料項(dataitem)』的集合。每個資料項含有『資料值(value)』和其他資訊(如果需要的話)。每個資料值,可以是單一的數值(一維)或者乙個陣列(多維)。
例如,series.data 最常見的形式,是『線性表』,即乙個普通陣列:
series:
},1212, // 也可以直接是 dataitem 的 value,這更常見。
2323, // 每個 value 都是『一維』的。
4343,
3434
]}series:
},[1212, 5454, '梵蒂岡'], // 也可以直接是 dataitem 的 value,這更常見。
[2323, 3223, '諾魯'], // 每個 value 都是『三維』的,每列是乙個維度。
[4343, 23, '吐瓦魯'] // 假如是『氣泡圖』,常見第一維度對映到x軸,
// 第二維度對映到y軸,
// 第三維度對映到氣泡半徑(symbolsize)
]}
在圖表中,往往預設把 value 的前一兩個維度進行對映,比如取第乙個維度對映到x軸,取第二個維度對映到y軸。如果想要把更多的維度展現出來,可以借助visualmap
。最常見的情況,氣泡圖(scatter) 使用半徑展現了第三個維度。
visualmap 元件定義了把資料的『哪個維度』對映到『什麼視覺元素上』。
現在提供如下兩種型別的visualmap元件,通過 visualmap.type 來區分。
其定義結構例如:
option = ,
],...
};
連續型(visualmapcontinuous):
src="" width="600" height="400">
連續型資料平均分段: 依據 visualmap-piecewise.splitnumber 來自動平均分割成若干塊。
連續型資料自定義分段: 依據 visualmap-piecewise.pieces 來定義每塊範圍。
離散資料(類別性資料): 類別定義在 visualmap-piecewise.categories 中。
視覺對映方式的配置
既然是『資料』到『視覺元素』的對映,visualmap 中可以指定資料的『哪個維度』(參見visualmap.dimension)對映到哪些『視覺元素』(參見 visualmap.inrange 和 visualmap.outofrange)中。
例一:
option = ,
outofrange:
},...
]};
例二:
option = ,
...},
...]
};
更多詳情,參見visualmap.inrange
和visualmap.outofrange
。 ECharts官方教程 十二 自定義系列
自定義系列 custom series 是一種系列的型別。它把繪製圖形元素這一步留給開發者去做,從而開發者能在座標系中自由繪製出自己需要的圖表。echarts 為什麼會要支援 自定義系列 呢?echarts 內建支援的圖表型別是最常見的圖表型別,但是圖表型別是難於窮舉的,有很多小眾的需求 echar...
Jsoup官方教程 四 資料修改
在你解析乙個document之後可能想修改其中的某些屬性值,然後再儲存到磁碟或都輸出到前台頁面。可以使用屬性設定方法element.attr string key,string value 和elements.attr string key,string value 假如你需要修改乙個元素的clas...
OgreOde官方教程出現的問題
ogre官方 有關於ogreode是初級教程,但是編譯之後有一些小問題,一是不能發生碰撞,crate會從地面上穿過去,二是加入碰撞檢測之後會有一半穿過平面。include include include marcbasicframelistener.h include ogreosmscene.h ...