sjvisualizer 是一个可以画各种动态图的包。
该文阐述了额外属性的参数详解,包括在一张图上画多种的sub-plot、条形相关动态图、饼状相关动态图、折线相关动态图、区域相关动态图的额外参数。
动态绘图【上】介绍了基础动态图的绘制,包括动态折线图、动态饼形图、动态区域图、动态柱形图。
来源其官方文档。
文章目录
- 下列函数使用方法
- 绘制所有图形的画布(背景等设置)
- sub-plot类
- 条形相关动态图个性化
- 饼状相关动态图个性化
- 折线相关动态图个性化
- 区域相关动态图个性化
下列函数使用方法
需添加sjvisualizer包,先使用pip install sjvisualizer
安装好该包,在需要用到的代码部分import
import sjvisualizer
...
sjvisualizer.plot.bar(excel='',
title='',
unit='')
下列是更改绘图的属性,需要在绘图之前额外更改这些包属性。
绘制所有图形的画布(背景等设置)
sjvisualizer.Canvas.calc_spacing(value, current_spacing, n)
class sjvisualizer.Canvas.canvas(width=None, height=None, bg=(255, 255, 255), colors={
})
参数: bg(长度为 3 的整数元组)背景颜色(RGB),默认为 (255, 255, 255)(白色)
add_logo(logo) 用于添加徽标的辅助函数
参数: logo – 徽标的图像名称,绝对或相对路径:字符串类型
add_sub_plot(sub_plot) 用于向此画布添加子图的函数
参数: sub_plot (sjvisualizer.Canvas.sub_plot| sub_plot 对象
add_sub_title(text, color=(0, 0, 0)) 用于向动画添加子标题的辅助函数。
参数 | 类型 | 详细信息 |
---|---|---|
text | 字符串类型 | 显示在可视化顶部的子标题 |
color | 长度为 3 的整数元组 | RGB 中的子标题颜色,默认为 (0, 0, 0) 黑色 |
add_time(df, time_indicator=‘year’, color=(150, 150, 150)) 用于向可视化添加时间戳的辅助函数
参数 | 类型 | 详细信息 |
---|---|---|
df | pandas.DataFrame | 将时间戳作为索引保存的 pandas 数据框 |
time_indicator | str | 确定时间戳的格式,可能的值:“day”、“month”、“year”,默认为“year” |
color | 长度为 3 的整数元组 | RGB 中的文本颜色,默认为 (150, 150, 150) |
add_title(text, color=(0, 0, 0)) 用于向动画添加标题的辅助函数。
参数 | 类型 | 详细信息 |
---|---|---|
text | str | 显示在可视化顶部的标题 |
color | 长度为 3 的整数元组 | RGB 中的标题颜色,默认为 (0, 0, 0) 黑色 |
play(df=None, fps=30, record=False, width=2560, height=1440, file_name=‘output.mp4’)
动画的主循环。此函数将为 pandas df 中设置的每个时间步骤编排动画
参数 | 类型 | 详细信息 |
---|---|---|
df | pandas.DataFrame | 要制作动画的 pandas 数据框 |
fps | int | 动画的帧速率,默认为每秒 30 帧 |
record | boolean | 如果设置为 True,则将录制屏幕,这将严重影响高分辨率屏幕上的性能 |
height | int | 如果 record 设置为 True,则这是正在录制的窗口的高度。 默认为全屏。 |
file_name | str | 如果 record 设置为 True,则这是输出文件的名称。默认为 output.mp4。 |
set_decimals(decimals) update(time) 动画每一帧都会调用的更新函数。
参数: time (datetime 对象)与帧相对应的时间对象。
sjvisualizer.Canvas.format_date(time, time_indicator, format='Europe')
sjvisualizer.Canvas.format_value(number, decimal=3)
sjvisualizer.Canvas.hex_to_rgb(h)
sjvisualizer.Canvas.load_image(path, x, y, root, name)
sub-plot类
class sjvisualizer.Canvas.sub_plot(canvas=None, width=None, height=None, x_pos=None, y_pos=None,
start_time=None, text=None, df=None, multi_color_df=None,
anchor='c', sort=True, colors={
}, root=None,
display_percentages=True, display_label=True, title=None,
invert=False, origin='s', display_value=True, font_color=(0, 0, 0),
back_ground_color=(255, 255, 255), events={
}, time_indicator='year',
number_of_bars=None, unit='', x_ticks=4, y_ticks=4,
log_scale=False, only_show_latest_event=True, allow_decrease=True,
format='Europe', draw_points=True, area=True,
color_bar_color=[[100, 100, 100], [255, 0