这是一个使用Pygame创建的Python库,该库管理图形的创建,该图形随着时间的推移动态显示X和Y的更改。
该软件包将被添加到PIP中,因此一个简单的“ PIP install dynamic_graphs_with_pygame”就足够了。否则,请克隆github存储库。
目前,可以制作的受支持的图是:直方图,line_graphs和散点图。您可以使用库的逻辑添加自己的图形类型!只要看看现有功能是如何制作并做类似的事情,这很容易。注意力! Pygame具有显示非常小的对象的局限性,请注意这一点,并查看如何处理直方图箱宽度<1的情况。
确保利用该库在具有alpha(透明度)的Pygame中绘制对象的能力。这样,您可以在彼此的顶部显示不同的图形。
也要查看示例_usage.py。
请注意,所有功能都存在于称为DynamicpyGameGraphs的类中。本质上,您需要首先进行此类实例,并具有诸如轴位置和要显示的pygame屏幕之类的详细信息。(允许您的X值大于Graph_x轴的大小)
示例:pygame_graphs_instance = dynamiCpyGameGraphs(x,y,屏幕)
之后,您可以使用此实例在屏幕上绘制选择的图。
示例:pygame_graphs_instance.dynamic_histogram(x_values = np.Array([[1,0,2,2,3,0,1]),bin_size = 1,bar_color =(255,0,0,123) x_tick_marks = 5,y_tick_marks = 5,y_amplifier = 1,graph_tick_marks_font = note move_zero_along_x_axis = 0,zero_tick_mark_text_color =(0,0,0,0),bin_array_is_given_as_as_x_values = true,hase_extra_bin = true)
当然,您不需要填写所有这些变量,它们都有预先赋予的值。至于所有这些都意味着什么是指实际代码中的评论。
默认情况下,键盘箭头可以实现滚动。您可以更改它,请查看滚动功能。
注意:对于直方图,如果您希望某些垃圾箱沿X_AXIS显示为负面,则利用MOVE_ZERO_ALONG_X_AXIS参数来设置bin对应于零位置。
注意:如果您的阵列越来越大,那么一段时间后动态图可能会开始落后。解决方案是,如果其长度通过特定的阈值,则可能是从数组中删除一些元素。
Python 3.12.2 Pygame 2.5.2 Numpy 1.26.4