merterm's picture
Upload 51 files
b07caec verified
# ===================
# Part 1: Importing Libraries
# ===================
import matplotlib.pyplot as plt
# ===================
# Part 2: Data Preparation
# ===================
# Data for plotting
x = [1, 2, 3, 4, 5]
y1 = [18, 24, 27, 29, 29.5]
y2 = [12, 17, 21, 23, 24]
y3 = [6, 10, 12, 14, 15]
y4 = [5, 6, 7, 8, 8.5]
# Labels for legend
label_activity_net_mIoU = "ActivityNet mIoU"
label_breakfast_mof = "Breakfast MoF"
label_activity_net_cider = "ActivityNet CIDEr"
label_qvhighlights_map = "QVHighlights mAP"
# Plot limits
xlim_values = (1, 5)
ylim_values = (0, 35)
# Axis labels
xlabel_values = ["10K", "50K", "1M", "5M", "10M"]
ylabel_values = [0, 10, 20, 30, 34]
# Axis ticks
xticks_values = x
yticks_values = [0, 10, 20, 30, 34]
# Horizontal line value
axhline_value = 30
# ===================
# Part 3: Plot Configuration and Rendering
# ===================
# Plotting the data
plt.figure(figsize=(9, 8)) # Adjusting figure size to match original image dimensions
plt.plot(
x,
y1,
"o-",
clip_on=False,
zorder=10,
markerfacecolor="#eec7bb",
markeredgecolor="#d77659",
markersize=12,
color="#d77659",
label=label_activity_net_mIoU,
)
plt.plot(
x,
y2,
"o-",
clip_on=False,
zorder=10,
markerfacecolor="#f5dbc3",
markeredgecolor="#e8a66c",
markersize=12,
color="#e8a66c",
label=label_breakfast_mof,
)
plt.plot(
x,
y3,
"o-",
clip_on=False,
zorder=10,
markerfacecolor="#b4d7d1",
markeredgecolor="#509b8d",
markersize=12,
color="#509b8d",
label=label_activity_net_cider,
)
plt.plot(
x,
y4,
"o-",
clip_on=False,
zorder=10,
markerfacecolor="#abb5ba",
markeredgecolor="#2e4552",
markersize=12,
color="#2e4552",
label=label_qvhighlights_map,
)
# Filling the area under the curves
plt.fill_between(x, y1, y2, color="#eec7bb", alpha=1)
plt.fill_between(x, y2, y3, color="#f5dbc3", alpha=1)
plt.fill_between(x, y3, y4, color="#b4d7d1", alpha=1)
plt.fill_between(x, y4, color="#abb5ba", alpha=1)
# Adding a horizontal dashed line at y=axhline_value
plt.axhline(axhline_value, color="black", linestyle="dotted")
# Setting the x-axis、y-axis limits
plt.xlim(*xlim_values)
plt.ylim(*ylim_values)
# Setting the x-axis tick labels
plt.xticks(xticks_values, xlabel_values)
plt.yticks(yticks_values, ylabel_values)
# Adding a legend
plt.legend(loc="lower center", ncol=4, bbox_to_anchor=(0.5, -0.1), frameon=False)
plt.gca().tick_params(axis="both", which="both", length=0)
# ===================
# Part 4: Saving Output
# ===================
plt.tight_layout()
plt.savefig("area_1.pdf", bbox_inches="tight")