import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
# Sample data
x = [1, 2, 3]
y_star = [2, 3, 4]
y_h = [3, 4, 5]
colors_star = ['red', 'blue', 'black']
colors_h = ['red', 'blue', 'black']
# Create a colormap
cmap_star = plt.cm.colors.ListedColormap(colors_star)
# Plot the figure with two y-axis arrays
plt.figure()
# Plot markers '*' with different colors
scatter_star = plt.scatter(x, y_star, marker='*', c=np.arange(len(x)), cmap=cmap_star, label='commu')
# Create legend for colors with rectangles
legend_handles = [mpatches.Patch(color=color, label=label) for color, label in zip(colors_star, ['DQN', 'MPNN', 'OSPF'])]
legend_colors_star = plt.legend(handles=legend_handles, loc="upper left", title="Colors (*)")
plt.gca().add_artist(legend_colors_star)
# Plot markers 'h' with different colors
scatter_h = plt.scatter(x, y_h, marker='h', c=np.arange(len(x)), cmap=cmap_star)
# Create legend for markers
legend_markers = plt.legend(handles=[scatter_star, scatter_h], labels=['commu', 'compute'], loc="upper right", title="Legends")
# Set color of legend handles to black
for handle in legend_markers.legendHandles:
handle.set_facecolor('black')
# Add labels and title
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Figure with Two Legend Bars')
# Show plot
plt.show()
12-31
03-25
260
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交