平面直角坐标系
直方图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [123, 153, 89, 107, 98, 23] bar = (Bar() .add_xaxis(x_data) .add_yaxis('', y_data) ) bar.render_notebook()
折线图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [123, 153, 89, 107, 98, 23] line = (Line() .add_xaxis(x_data) .add_yaxis('', y_data) ) line.render_notebook()
箱形图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [[random.randint(100, 200) for i in range(10)] for item in x_data] Box = Boxplot() Box.add_xaxis(x_data) Box.add_yaxis("", Box.prepare_data(y_data)) Box.render_notebook()
散点图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [123, 153, 89, 107, 98, 23] scatter = (Scatter() .add_xaxis(x_data) .add_yaxis('', y_data) ) scatter.render_notebook()
带涟漪效果散点图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [123, 153, 89, 107, 98, 23] effectScatter = (EffectScatter() .add_xaxis(x_data) .add_yaxis('', y_data) ) effectScatter.render_notebook()
k线图
date_list = ["2020/4/{}".format(i + 1) for i in range(30)] y_data = [ [2320.26, 2320.26, 2287.3, 2362.94], [2300, 2291.3, 2288.26, 2308.38], [2295.35, 2346.5, 2295.35, 2345.92], [2347.22, 2358.98, 2337.35, 2363.8], [2360.75, 2382.48, 2347.89, 2383.76], [2383.43, 2385.42, 2371.23, 2391.82], [2377.41, 2419.02, 2369.57, 2421.15], [2425.92, 2428.15, 2417.58, 2440.38], [2411, 2433.13, 2403.3, 2437.42], [2432.68, 2334.48, 2427.7, 2441.73], [2430.69, 2418.53, 2394.22, 2433.89], [2416.62, 2432.4, 2414.4, 2443.03], [2441.91, 2421.56, 2418.43, 2444.8], [2420.26, 2382.91, 2373.53, 2427.07], [2383.49, 2397.18, 2370.61, 2397.94], [2378.82, 2325.95, 2309.17, 2378.82], [2322.94, 2314.16, 2308.76, 2330.88], [2320.62, 2325.82, 2315.01, 2338.78], [2313.74, 2293.34, 2289.89, 2340.71], [2297.77, 2313.22, 2292.03, 2324.63], [2322.32, 2365.59, 2308.92, 2366.16], [2364.54, 2359.51, 2330.86, 2369.65], [2332.08, 2273.4, 2259.25, 2333.54], [2274.81, 2326.31, 2270.1, 2328.14], [2333.61, 2347.18, 2321.6, 2351.44], [2340.44, 2324.29, 2304.27, 2352.02], [2326.42, 2318.61, 2314.59, 2333.67], [2314.68, 2310.59, 2296.58, 2320.96], [2309.16, 2286.6, 2264.83, 2333.29], [2282.17, 2263.97, 2253.25, 2286.33], ] kline = (Kline() .add_xaxis(date_list) .add_yaxis('', y_data) ) kline.render_notebook()
热力图
data = [[i, j, random.randint(0, 100)] for i in range(24) for j in range(7)] hour_list = [str(i) for i in range(24)] week_list = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'] heat = (HeatMap() .add_xaxis(hour_list) .add_yaxis("", week_list, data) ) heat.render_notebook()
象型图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data = [123, 153, 89, 107, 98, 23] pictorialBar = (PictorialBar() .add_xaxis(x_data) .add_yaxis('', y_data) ) pictorialBar.render_notebook()
层叠图
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] y_data_bar = [123, 153, 89, 107, 98, 23] y_data_line = [153, 107, 23, 89, 123, 107] bar = (Bar() .add_xaxis(x_data) .add_yaxis('', y_data_bar) ) line = (Line() .add_xaxis(x_data) .add_yaxis('', y_data_line) ) overlap = bar.overlap(line) overlap.render_notebook()
地理图表
GEO-地理坐标系
province = [ '广东', '湖北', '湖南', '四川', '重庆', '黑龙江', '浙江', '山西', '河北', '安徽', '河南', '山东', '西藏'] data = [(i, random.randint(50, 150)) for i in province] geo = ( Geo() .add_schema(maptype="china") .add("", data) ) geo.render_notebook()
MAP-地图
province = [ '广东', '湖北', '湖南', '四川', '重庆', '黑龙江', '浙江', '山西', '河北', '安徽', '河南', '山东', '西藏'] data = [(i, random.randint(50, 150)) for i in province] map_ = ( Map() .add("", data, 'china') ) map_.render_notebook()
BMAP-百度地图
province = [ '广东', '湖北', '湖南', '四川', '重庆', '黑龙江', '浙江', '山西', '河北', '安徽', '河南', '山东', '西藏'] data = [(i, random.randint(50, 150)) for i in province] bmap = ( BMap() .add_schema(baidu_ak="FAKE_AK", center=[120.13066322374, 30.240018034923]) .add("", data) ) bmap.render_notebook()
基本图表
饼图
# 虚假数据 cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] data = [123, 153, 89, 107, 98, 23] pie = (Pie() .add('', [list(z) for z in zip(cate, data)]) ) pie.render_notebook()
漏斗图
# 虚假数据 cate = ['访问', '注册', '加入购物车', '提交订单', '付款成功'] data = [30398, 15230, 10045, 3109, 1698] funnel = (Funnel() .add("", [list(z) for z in zip(cate, data)]) ) funnel.render_notebook()
仪表盘
gauge = (Gauge() .add("", [('转化率',34)]) ) gauge.render_notebook()
水球图
liquid = (Liquid() .add("", [0.52, 0.44]) ) liquid.render_notebook()
日历图
import math # 虚假数据 begin = datetime.date(2019, 1, 1) end = datetime.date(2019, 12, 31) data = [[str(begin + datetime.timedelta(days=i)), abs(math.cos(i/100))* random.randint(1000, 1200)] for i in range((end - begin).days + 1)] calendar = ( Calendar() .add("", data, calendar_opts=opts.CalendarOpts(range_="2019")) ) calendar.render_notebook()