Fixed invalid RGBA color issue (default to black)
Browse files
app.py
CHANGED
@@ -6,6 +6,8 @@ import os # Import os to handle file paths
|
|
6 |
|
7 |
def hex_to_rgb(hex_color):
|
8 |
"""Convert HEX color (e.g., '#ff5733') to an RGB tuple for Matplotlib."""
|
|
|
|
|
9 |
rgb = mcolors.hex2color(hex_color) # Convert HEX to RGB
|
10 |
return rgb
|
11 |
|
@@ -21,7 +23,7 @@ def plot_function(func_str, x_min, x_max, resolution, color, linestyle, grid):
|
|
21 |
func = lambda x: eval(func_text, {"x": x, "np": np})
|
22 |
y_values = func(x_values)
|
23 |
|
24 |
-
#
|
25 |
rgb_color = hex_to_rgb(color)
|
26 |
|
27 |
plt.plot(x_values, y_values, label=f"f(x) = {func_text}", color=rgb_color, linestyle=linestyle)
|
@@ -55,7 +57,7 @@ with gr.Blocks() as demo:
|
|
55 |
x_min = gr.Number(label="X Min", value=-10)
|
56 |
x_max = gr.Number(label="X Max", value=10)
|
57 |
resolution = gr.Slider(10, 1000, step=10, label="Resolution", value=100)
|
58 |
-
color = gr.ColorPicker(label="Line Color")
|
59 |
linestyle = gr.Dropdown(["solid", "dashed", "dotted", "dashdot"], label="Line Style")
|
60 |
grid = gr.Checkbox(label="Show Grid", value=True)
|
61 |
submit_button = gr.Button("Plot Function")
|
|
|
6 |
|
7 |
def hex_to_rgb(hex_color):
|
8 |
"""Convert HEX color (e.g., '#ff5733') to an RGB tuple for Matplotlib."""
|
9 |
+
if hex_color is None: # If no color is selected, default to black
|
10 |
+
hex_color = "#000000"
|
11 |
rgb = mcolors.hex2color(hex_color) # Convert HEX to RGB
|
12 |
return rgb
|
13 |
|
|
|
23 |
func = lambda x: eval(func_text, {"x": x, "np": np})
|
24 |
y_values = func(x_values)
|
25 |
|
26 |
+
# Ensure a valid color is provided, defaulting to black
|
27 |
rgb_color = hex_to_rgb(color)
|
28 |
|
29 |
plt.plot(x_values, y_values, label=f"f(x) = {func_text}", color=rgb_color, linestyle=linestyle)
|
|
|
57 |
x_min = gr.Number(label="X Min", value=-10)
|
58 |
x_max = gr.Number(label="X Max", value=10)
|
59 |
resolution = gr.Slider(10, 1000, step=10, label="Resolution", value=100)
|
60 |
+
color = gr.ColorPicker(label="Line Color", value="#000000") # Set default to black
|
61 |
linestyle = gr.Dropdown(["solid", "dashed", "dotted", "dashdot"], label="Line Style")
|
62 |
grid = gr.Checkbox(label="Show Grid", value=True)
|
63 |
submit_button = gr.Button("Plot Function")
|