【动态绘图】 sjvisualizer 参数详解 (一张画多个图 条形动态图自定义 饼状动态图自定义 折现动态图自定义 区域动态图自定义)中 额外绘图

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)) 用于向可视化添加时间戳的辅助函数

参数类型详细信息
dfpandas.DataFrame将时间戳作为索引保存的 pandas 数据框
time_indicatorstr确定时间戳的格式,可能的值:“day”、“month”、“year”,默认为“year”
color长度为 3 的整数元组RGB 中的文本颜色,默认为 (150, 150, 150)

add_title(text, color=(0, 0, 0)) 用于向动画添加标题的辅助函数。

参数类型详细信息
textstr显示在可视化顶部的标题
color长度为 3 的整数元组RGB 中的标题颜色,默认为 (0, 0, 0) 黑色

play(df=None, fps=30, record=False, width=2560, height=1440, file_name=‘output.mp4’)
动画的主循环。此函数将为 pandas df 中设置的每个时间步骤编排动画

参数类型详细信息
dfpandas.DataFrame要制作动画的 pandas 数据框
fpsint动画的帧速率,默认为每秒 30 帧
recordboolean如果设置为 True,则将录制屏幕,这将严重影响高分辨率屏幕上的性能
heightint如果 record 设置为 True,则这是正在录制的窗口的高度。 默认为全屏。
file_namestr如果 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, 0]], **kwargs) 

所有图表类型都继承自的基本 sub_plot 类。

参数类型详细信息
canvastkinter.Canvas用于绘制图形的 tkinter 画布
widthint图的宽度(以像素为单位)
heightint图的高度(以像素为单位)
x_posint此图左上角像素的 x 位置
y_posint此图左上角像素的 y 位置
font_color长度为 3 的整数元组字体颜色

load_image()
save_colors()
set_root(root)
update(time)

sjvisualizer.Canvas.truncate(n, decimals=1)

条形相关动态图个性化

class sjvisualizer.BarRace.bar(name=None, canvas=None, root=None, target_y=0, x=100, size=10, 
							   width=0, radius=0, value=0, unit=None, display_value=True, 
							   multi_colors=None, color_data=None, font_color=(0, 0, 0), mode=None, 
							   colors=None, decimal_places=0, font_scale=1, graph=None) 
	delete() 
	draw(target_y=0, width=0, img=None, value=0, color_data=None) 
	update(target_y=0, width=0, value=0, color_data=None) 
class sjvisualizer.BarRace.bar_race(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, 0]], 
									**kwargs)
参数类型详细信息
canvastkinter.Canvas用于绘制图形的 tkinter 画布
widthint绘图宽度(以像素为单位),默认值取决于屏幕分辨率
heightint绘图高度(以像素为单位),默认值取决于屏幕分辨率
x_posint此绘图左上角像素的 x 位置,默认值取决于屏幕分辨率
y_posint此绘图左上角像素的 y 位置,默认值取决于屏幕分辨率
dfpandas.DataFrame保存数据的 pandas 数据框
colors保存每个数据类别的颜色信息的字典。字典的键应与数据类别(列)的名称相对应。字典的值应为颜色的 RGB 值:{“United States”: [ 23, 60, 225 ] },默认值为 {}
unit (str可视化值的单位,默认为“”
back_ground_color长度为 3 的整数元组背景颜色,要隐藏超出顶部 X 的条形,将在可视化底部绘制一个正方形。通常,您希望此正方形与背景颜色相匹配。默认值为 (255,255,255)
font_color长度为 3 的整数元组字体颜色,默认值为 (0,0,0)
sort布尔值是否应根据值对此图表的元素进行排序?默认值为 True
number_of_bars整数动画中显示的条形图数量,默认值为 10,除非数据类别少于 10 个
shift整数将垂直条纹向下移动的像素数,用于隐藏超出顶部 X 的条形图。如果使用背景图像,则可以使用此方法,以避免难看的白色条形图覆盖背景图像。
font_scale浮点数增加或减少 font_size。要将字体大小缩小 25%,请将此值设置为 0.75。
	draw(time)
	update(time)
class sjvisualizer.BarRace.bar_stripes(canvas, y_min, y_max, row, x, width, height, number_of_bars,
									   invert, allow_decrease=True)
	draw(row) 
	update(row)

饼状相关动态图个性化

class sjvisualizer.PieRace.pie_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, 0]], 
									**kwargs)
参数类型详细信息
canvastkinter.Canvas用于绘制图形的 tkinter 画布
widthint绘图宽度(以像素为单位),默认值取决于屏幕分辨率
heightint绘图高度(以像素为单位),默认值取决于屏幕分辨率
x_posint此绘图左上角像素的 x 位置,默认值取决于屏幕分辨率
y_posint此绘图左上角像素的 y 位置,默认值取决于屏幕分辨率
dfpandas.DataFrame保存数据的 pandas 数据框
colors保存每个数据类别颜色信息的字典。字典的键应与数据类别(列)的名称相对应。字典的值应为颜色的 RGB 值:{“United States”: [ 23, 60, 225 ] },默认值为 {}
back_ground_color长度为 3 的整数元组背景颜色。为了隐藏超出顶部 X 的条形,将在可视化的底部绘制一个正方形。通常您希望此方块与背景颜色相匹配。默认值为 (255,255,255)
font_color长度为 3 的整数元组字体颜色,默认值为 (0,0,0)
sort布尔值此图的值是否应柔化?True/False,默认值为 True

折线相关动态图个性化

class sjvisualizer.LineChart.event(name=None, canvas=None, start_date=None, end_date=None, 
								   font_color=(0, 0, 0), font_size=12, text_font='Microsoft JhengHei UI', 
								   parent=None, event_color=(255, 255, 255)) 
	draw() 
	update(date) 
class sjvisualizer.LineChart.line(name=None, canvas=None, value=0, unit=None, font_color=(0, 0, 0), 
								  colors=None, time=None, xaxis=None, yaxis=None, chart=None, 
								  draw_points=False, line_width=None, label_at_end=True) draw(value, time) 
	remove_points() 
	update(value, time) 
class sjvisualizer.LineChart.line_chart(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, 0]], **kwargs)

构建动画区域图的类。就是在其他图上额外加上一个图。

参数类型详细信息
canvastkinter.Canvas用于绘制图形的 tkinter 画布
widthint绘图宽度(以像素为单位),默认值取决于屏幕分辨率
heightint绘图高度(以像素为单位),默认值取决于屏幕分辨率
x_posint此绘图左上角像素的 x 位置,默认值取决于屏幕分辨率
y_posint此绘图左上角像素的 y 位置,默认值取决于屏幕分辨率
dfpandas.DataFrame保存数据的 pandas 数据框
colors保存每个数据类别的颜色信息的字典字典的键应对应数据类别(列)的名称。字典的值应为颜色的 RGB 值:{ “United States”: [ 23, 60, 225 ] },默认为 {}
font_color长度为 3 的整数元组字体颜色,默认值为 (0,0,0)
font_sizeint字体大小,以像素为单位
draw_points布尔值如果设置为 True,脚本将为每一行绘制标记,这可能会影响性能
time_indicatorstr时间戳的格式,“日”、“月”、“年”,默认值为“年”
events字典用于向折线图添加其他上下文例如,按时间指示事件。 示例:events = { “{EVENT NAME}”: [“START DATE DD/MM/YYYY”, “END DATE DD/MM/YYYY”], “Event 1”: [“28/01/2017”, “28/01/2018”], “Event 2”: [“28/01/2019”, “28/01/2020”], “Last event”: [“28/05/2020”, “28/01/2021”] }
event_colortuple事件指示的颜色,默认值为 (225,225,225)
draw_all_eventsboolean默认情况下,只有标签会添加到最近的事件。将此值设置为 True 可保留所有事件的标签
line_widthint线的宽度

区域相关动态图个性化

class sjvisualizer.Total.total(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, 0]], **kwargs) 
	draw(time) 
	update(time)
class sjvisualizer.Legend.elem(name=None, canvas=None, y=0, unit='', font_color=(0, 0, 0), colors=None, 
							   font=None, parent=None, display_values=False) 
	calc_position(target_y) 
	draw() 
	update(x, y, draw, value=0) 
class sjvisualizer.Legend.legend(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, 0]], **kwargs)
参数类型详细信息
canvastkinter.Canvas用于绘制图形的 tkinter 画布
widthint绘图宽度(以像素为单位),默认值取决于屏幕分辨率
heightint绘图高度(以像素为单位),默认值取决于屏幕分辨率
x_posint此绘图左上角像素的 x 位置,默认值取决于屏幕分辨率
y_posint此绘图左上角像素的 y 位置,默认值取决于屏幕分辨率
dfpandas.DataFrame保存数据的 pandas 数据框
colors保存每个数据类别的颜色信息的字典字典的键应对应数据类别(列)的名称。字典的值应为颜色的 RGB 值:{ “United States”: [ 23, 60, 225 ] },默认为 {}
font_color长度为 3 的整数元组字体颜色,默认值为 (0,0,0)
font_sizeint字体大小,以像素为单位
sort布尔值是否应根据值对此图表的元素进行排序?默认值为 True
display_valuesboolean在图例末尾显示数据类别的值?默认值为 False
unitstr可视化值的单位,默认为“”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值