Candlestick - Kline_itemstyle
代码使用了pyecharts库生成了一个K线图,图表展示了每天学习的时长。具体的代码解释如下:
- 导入
options
、charts
模块:
from pyecharts import options as opts
from pyecharts.charts import Kline
- 创建一个
Kline
实例:
c = Kline()
- 通过
add_xaxis
方法设置X轴数据,即日期:
.add_xaxis(["2023/8/{}".format(i + 1) for i in range(31)])
- 通过
add_yaxis
方法添加Y轴数据,即每天的学习时长数据,并指定了样式选项itemstyle_opts
,用于设置K线图的颜色、边框颜色等样式:
.add_yaxis(
"kline",
data,
itemstyle_opts=opts.ItemStyleOpts(
color="#ec0000",
color0="#00da3c",
border_color="#8A0000",
border_color0="#008F28",
),
)
- 通过
set_global_opts
方法设置全局选项,包括调整X轴标签的旋转角度、调整Y轴的刻度设置、添加数据缩放选项、设置图表的标题:
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-90)),
yaxis_opts=opts.AxisOpts(
is_scale=True,
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
datazoom_opts=[opts.DataZoomOpts(type_="inside")],
title_opts=opts.TitleOpts(title="8月每天学习的时长"),
)
- 最后使用
render
方法将图表渲染为HTML文件:
.render("kline_itemstyle.html")
这段代码将生成一个K线图,其中横轴为日期(8月1日至8月31日),纵轴为学习时长,用K线图的形式展示每天的学习时长情况。通过itemstyle_opts
参数设置了K线图的颜色以及正负两种情况的颜色。X轴的标签被旋转了-90度以适应较长的标签文字。Y轴的刻度设置了自动缩放和显示分割区域。添加了数据缩放的选项,可以进行数据的局部放大和缩小。图表的标题为"8月每天学习的时长"。最终图表将被渲染为一个HTML文件。
from pyecharts import options as opts
from pyecharts.charts import Kline
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],
[2255.77, 2270.28, 2253.31, 2276.22],
]
c = (
Kline()
.add_xaxis(["2023/8/{}".format(i + 1) for i in range(31)])
.add_yaxis(
"kline",
data,
itemstyle_opts=opts.ItemStyleOpts(
color="#ec0000",
color0="#00da3c",
border_color="#8A0000",
border_color0="#008F28",
),
)
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-90)),
yaxis_opts=opts.AxisOpts(
is_scale=True,
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
datazoom_opts=[opts.DataZoomOpts(type_="inside")],
title_opts=opts.TitleOpts(title="8月每天学习的时长"),
)
.render("kline_itemstyle.html")
)
Candlestick - Basic_candlestick
代码使用pyecharts库创建了一个基本的K线图,用于展示不同课程的学习进度。具体的代码解释如下:
- 导入
options
模块和Candlestick
类:
import pyecharts.options as opts
from pyecharts.charts import Candlestick
- 创建一个
Candlestick
实例:
candlestick = Candlestick()
- 使用
add_xaxis
方法设置X轴数据,即不同的课程名称:
.add_xaxis(xaxis_data=x_data)
- 使用
add_yaxis
方法添加Y轴数据,即每个课程的学习进度数据。Y轴的数据表示开盘、收盘、最低和最高值:
.add_yaxis(series_name="", y_axis=y_data)
-
使用
set_series_opts
方法设置系列选项。 -
使用
set_global_opts
方法设置全局选项,其中设置了Y轴的刻度分割线显示,并指定了分割线的样式。可以通过splitline_opts
参数设置是否显示刻度分割线,以及分割线的样式:
.set_global_opts(
yaxis_opts=opts.AxisOpts(
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(width=1)
)
)
)
- 最后使用
render
方法将图表渲染为HTML文件:
.render("basic_candlestick.html")
这段代码将生成一个K线图,其中X轴为不同的课程名称,Y轴为学习进度。K线图的每个数据点表示一个课程,每个K线上方有一个短线表示最高值,下方有一个短线表示最低值,中间的矩形表示开盘和收盘值。Y轴的刻度分割线在Y轴上显示,通过设置splitline_opts
参数来控制刻度分割线的样式和是否显示。图表将被渲染为一个HTML文件。
import pyecharts.options as opts
from pyecharts.charts import Candlestick
x_data = ["python程序设计", "c语言", "数据结构", "数据库原理"]
y_data = [[20, 30, 10, 35], [40, 35, 30, 55], [33, 38, 33, 40], [40, 40, 32, 42]]
(
Candlestick()
.add_xaxis(xaxis_data=x_data)
.add_yaxis(series_name="", y_axis=y_data)
.set_series_opts()
.set_global_opts(
yaxis_opts=opts.AxisOpts(
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(width=1)
)
)
)
.render("basic_candlestick.html")
)