以下是使用Pyecharts绘制k线图、雷达图和漏斗图的简单教程:
- k线图(Candlestick)
from pyecharts.charts import Candlestick
from pyecharts import options as opts
# 准备数据
data = [
[2320.26, 2320.26, 2287.3, 2362.94], [2300, 2291.3, 2288.26, 2308.38],
[2295.35, 2346.5, 2295.35, 2346.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, 2434.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, 2415.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],
[2255.77, 2270.28, 2253.31, 2276.22]
]
x_data = ['2017/7/{}'.format(i + 1) for i in range(31)]
# 创建Candlestick对象
candlestick = Candlestick()
candlestick.add_xaxis(xaxis_data=x_data) # 设置x轴数据
# 将数据传入add_ohlcv方法中
candlestick.add_yaxis(series_name="", y_axis=data)
# 设置图表样式
candlestick.set_global_opts(
xaxis_opts=opts.AxisOpts(is_scale=True), # x轴数据自适应
yaxis_opts=opts.AxisOpts(is_scale=True), # y轴数据自适应
title_opts=opts.TitleOpts(title="K线图"), # 图表名称
datazoom_opts=[opts.DataZoomOpts()], # 缩放工具
tooltip_opts=opts.TooltipOpts(
trigger="axis", # tooltip 触发事件,改为 axis 表示触发于数据轴
axis_pointer_type="cross", # tooltip 指示器类型,增加 pointer 表示有指示器
axis_pointer_label=opts.LabelOpts(background_color="#505765"), # 指示器标签
),
)
# 将图表保存为html文件
candlestick.render("candlestick.html")
- 雷达图(Radar)
from pyecharts.charts import Radar, Line
from pyecharts import options as opts
# 准备数据
data = [
["周一", 3100], ["周二", 4230], ["周三", 5200], ["周四", 6600], ["周五", 8300], ["周六", 10000], ["周日", 12500]
]
# 创建Radar对象
radar = Radar()
radar.add_schema(
schema=[
opts.RadarIndicatorItem(name="销售额", max_=13000), # 添加雷达图指标项
]
)
# 添加雷达图系列数据
radar.add("系列名称", data, areastyle_opts=opts.AreaStyleOpts(opacity=0.5),)
# 添加折线图,用于辅助显示数据
line = Line()
line.add_xaxis([i[0] for i in data])
line.add_yaxis("销售额", [i[1] for i in data], is_symbol_show=True, is_smooth=True, linestyle_opts=opts.LineStyleOpts(color="#ff7f50"))
radar = radar.overlap(line)
# 设置图表样式
radar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
radar.set_global_opts(title_opts=opts.TitleOpts(title="雷达图"))
# 将图表保存为html文件
radar.render("radar.html")
- 漏斗图(Funnel)
from pyecharts.charts import Funnel
from pyecharts import options as opts
# 准备数据
data = [("访问", 30), ("点击", 24), ("询价", 18), ("订单", 15), ("支付", 8)]
# 创建Funnel对象
funnel = Funnel()
funnel.add("漏斗图", data)
# 设置图表样式
funnel.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b} : {c}%"), # 设置tooltip
legend_opts=opts.LegendOpts(is_show=False)
)
# 将图表保存为html文件
funnel.render("funnel.html")
上述代码中,分别使用Candlestick、Radar和Funnel创建k线图、雷达图和漏斗图。每个图表的创建方式都类似,根据需要自定义数据和样式。Pyecharts的文档中提供了详细的教程和示例,可以帮助开发人员更好地使用这些图表。