pycharm——制作k线图

 K 线图 Candlestick

Candlestick - Kline_itemstyle

 

代码使用了pyecharts库生成了一个K线图,图表展示了每天学习的时长。具体的代码解释如下:

  • 导入optionscharts模块:
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")
)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值