Tools for SQL Deadlock Statistics
You should use the open source stored procedure sp_BlitzLock to analyze these deadlocks.  It will give you what you're looking for in terms of timing, which tables / objects are involved in deadlocks most often, etc.

I downloaded your .xel file and ran the proc like this:

EXEC master.dbo.sp_BlitzLock 
    @EventSessionPath = 'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\Log\DL_0_132091861398080000.xel';


As an example, the output tells me that B7R2_CHKVN.dbo.B331GeneralLedger was involved in 217 deadlocks captured in this event session (out of the total 383 deadlocks for that database).

Adding the @ObjectName = 'B7R2_CHKVN.dbo.B331GeneralLedger' parameter to the procedure call filters things down to just deadlocks that involved that object.



Note that the database names are a little wonky because it's pulling the names by id, and my instance has different databases than yours

This will let you start going through each deadlock and seeing if you can find patterns of the queries involved.  Consider loading the deadlock XML (the last column of the first resultset) in SentryOne Plan Explorer in order to better visualize the locks being taken.