mirror of
https://github.com/ParisNeo/lollms-webui.git
synced 2024-12-24 22:46:38 +00:00
86 lines
2.8 KiB
Python
86 lines
2.8 KiB
Python
import matplotlib.pyplot as plt
|
|
import matplotlib.patches as patches
|
|
|
|
def parse_and_visualize_weird_palette(palette_str):
|
|
# Split the input string into lines
|
|
lines = palette_str.split(';')
|
|
|
|
# Initialize an empty dictionary to hold the color information
|
|
colors = {}
|
|
|
|
# Parse each line
|
|
for line in lines:
|
|
if not line.strip():
|
|
continue # Skip empty lines
|
|
# Split each line into name and color value
|
|
name, color = line.split(':')
|
|
# Remove leading/trailing whitespace and replace dashes with spaces in the name for readability
|
|
name = name.strip().replace('--color-', '').replace('-', ' ').title()
|
|
color = color.strip()
|
|
# Add to the colors dictionary
|
|
colors[name] = color
|
|
|
|
# Now, we have the colors dictionary filled, we can visualize it
|
|
# Create a figure and a grid of subplots
|
|
fig, ax = plt.subplots(figsize=(10, 8))
|
|
|
|
# Remove the axes
|
|
ax.axis('off')
|
|
|
|
# Title
|
|
ax.set_title('Weird Color Palette Visualization', fontsize=16)
|
|
|
|
# Plot each color as a rectangle
|
|
for i, (name, color) in enumerate(colors.items()):
|
|
row = i // 4
|
|
col = i % 4
|
|
rect = patches.Rectangle((col * 2.5, row * -1.5), 2, 1, linewidth=1, edgecolor='none', facecolor=color)
|
|
ax.add_patch(rect)
|
|
ax.text(col * 2.5 + 1, row * -1.5 + 0.5, name, ha='center', va='center', fontsize=9, color='white' if i < 14 else 'black', weight='bold')
|
|
|
|
# Adjust the limits and aspect of the plot
|
|
ax.set_xlim(0, 10)
|
|
ax.set_ylim(-6, 1)
|
|
ax.set_aspect(1)
|
|
|
|
plt.show()
|
|
|
|
# Example of a weird palette
|
|
weird_palette_str = """
|
|
--color-primary: #88c999;
|
|
--color-primary-light: #cc8899;
|
|
--color-secondary: #987654;
|
|
--color-accent: #fe01b1;
|
|
--color-bg-dark: #013370;
|
|
--color-bg-dark-tone: #650021;
|
|
--color-bg-dark-tone-panel: #feae17;
|
|
--color-bg-dark-code-block: #bada55;
|
|
--color-bg-light: #420420;
|
|
--color-bg-light-tone: #133337;
|
|
--color-bg-light-code-block: #065535;
|
|
--color-bg-light-tone-panel: #511845;
|
|
--color-bg-dark-discussion: #170e4b;
|
|
--color-bg-dark-discussion-odd: #331a38;
|
|
--color-bg-light-discussion: #f4c2c2;
|
|
--color-bg-light-discussion-odd: #fae7b5;
|
|
"""
|
|
weird_palette_str = """
|
|
--color-primary: #0e8ef0;
|
|
--color-primary-light: #3dabff;
|
|
--color-secondary: #0fd974;
|
|
--color-accent: #f0700e;
|
|
--color-bg-dark: #132e59;
|
|
--color-bg-dark-tone: #25477d;
|
|
--color-bg-dark-tone-panel: #4367a3;
|
|
--color-bg-dark-code-block: #2254a7;
|
|
--color-bg-light: #e2edff;
|
|
--color-bg-light-tone: #b9d2f7;
|
|
--color-bg-light-code-block: #cad7ed;
|
|
--color-bg-light-tone-panel: #8fb5ef;
|
|
--color-bg-dark-discussion: #435E8A;
|
|
--color-bg-dark-discussion-odd: #284471;
|
|
--color-bg-light-discussion: #c5d8f8;
|
|
--color-bg-light-discussion-odd: #d6e7ff;
|
|
"""
|
|
parse_and_visualize_weird_palette(weird_palette_str)
|