show_score.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import os
  4. def save_color_gradient(cmap_name='jet', width=512, height=50, filename=None):
  5. """
  6. 保存颜色从 0 到 1 渐变的图像
  7. :param cmap_name: 色图名,如 'jet', 'viridis'
  8. :param width: 渐变图宽度(像素)
  9. :param height: 渐变图高度(像素)
  10. :param filename: 保存的文件名(可选)
  11. """
  12. cmap = plt.get_cmap(cmap_name)
  13. gradient = np.linspace(0, 1, width).reshape(1, -1)
  14. gradient = np.repeat(gradient, height, axis=0)
  15. plt.figure(figsize=(8, 1.5))
  16. plt.imshow(gradient, aspect='auto', cmap=cmap)
  17. plt.title(f"Color Gradient (colormap = '{cmap_name}')")
  18. plt.xlabel("Score: 0 → 1")
  19. plt.yticks([])
  20. plt.xticks([0, width//4, width//2, 3*width//4, width], [0.0, 0.25, 0.5, 0.75, 1.0])
  21. plt.tight_layout()
  22. # 默认文件名
  23. if filename is None:
  24. filename = f"color_gradient_{cmap_name}.png"
  25. # 保存图像
  26. plt.savefig(filename, dpi=150)
  27. plt.close()
  28. print(f"已保存: {os.path.abspath(filename)}")
  29. # 调用:保存 jet 渐变图
  30. save_color_gradient('jet')