A package that can create a multi-level, shaded, piechart visualization of chess games.
Project description
The Chess Opening Analyzer
About
A program that will produce a graphical sunburst chart of chess openings from the PGN that is provided to it.
You can upload your own PGN files and then create a multi-level piechart to your inputted depth that will show each move by its relative popularity.
The chart
python file will then create a vividly colored graphical chart using Plot.ly with each segment shaded based on how often white/black win.
The pie chart sizes will be divided based on how frequent the move is compared to its parent. You can hover on the 'slice' of the piechart to see the exact number of games in which that position was reached; clicking is also possible to expand that segment to 100%.
Features
- Make graph of games to any depth
- Upload a custom database and see how your chart looks like
- Hover to see metadata such as game count and percentage of parent
- Easily find openings with simple hover tooltip identification
- Click to zoom in on a slice and expand it, making it easy to magnify any slice of the pie chart
- Downloadable files: you can download the chart as an interactive HTML, or as a static PNG/JPEG/SVG/WEBP image with just a few clicks
- Win Ratio Shading means that you will never be in doubt as to what next move is statistically best
How to Use
- Download the repo (make sure you have fulfilled the prerequisites)
- Download the PGN game you want to analyze (or use one of the examples). Make sure it is downloaded in the same folder as the repo.
- Run chart.py.
- You will be asked for the path to the file. Do so by typing in the path to your pgn game relative to vivid_chart. E.g. if you downloaded your file and dragged it into the pgns subfolder, you would type
pgns/my_file.pgn
- You will then be asked to what depth the chart should be made. This is ply depth!. Keep in mind: ply depth of 5 takes 30 seconds for a database with a few thousand games, and it takes 2 minutes to go to a depth of 8 for a few thousand games as well.
Prerequisites
- Runs in Python 3, must have Python 3 installed
- Requires Plotly and Python-Chess
You can install Plotly and Python-Chess using PyPi, as long as you are an admin user on your device. To do so, simply type pip install plotly
and pip install python-chess
into your terminal.
Downloading
Downloading is an option, although to do so you will need to go to chart.py and scroll to the bottom of the fie. There, several lines will be commented out.
Currently, you can uncomment the download interactive HTML file without anything else to download. If you do so, an HTML file of the graph will be saved to your device, which you can open with your browser.
You can also download the file as: SVG, PDF, JPEG, PNG, and WebP. Just uncomment those lines in the file as well, instructions are there. However, if you want to download in these formats you need the following installed.
npm install -g electron@1.8.4 orca
pip install psutil requests
pip install psutil
Examples
All examples are those of Magnus Carlsen's OTB tournament games
Simple Pie Chart
Hover Functionality | Show Percentage of Parent + Game Count
Click to Zoom
Extra Info
I based this chart loosely off of a post that I read on ebemunk's blog - you can find the link here: https://blog.ebemunk.com/a-visual-look-at-2-million-chess-games/. However, that project was written in Java and it didn't have everything that I wanted, such as showing all the games, zooming in, etc.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chess_graph-1.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12876ef5972d531a40c9c07829c328f680c99e609baa2e22a6794cf2e4204a20 |
|
MD5 | 90d361ede427ffaa6400295fe56db13b |
|
BLAKE2b-256 | f48362243085d4345dae62f9c791f5663e749cfdca77e377ab9d443bf0c389cd |