You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib散点图添加标题与坐标轴标签的解决方案

实现预期可视化效果的修改方案

现有代码未显式调用matplotlib的标题、坐标轴标签设置接口,同时可优化点样式、布局配置匹配参考效果,核心修改逻辑如下:

  • 在坐标轴对象初始化完成后,通过set_title()方法设置图表标题
  • 通过set_xlabel()、set_ylabel()方法分别设置横、纵坐标轴标签
  • 区分角点、中心点的散点颜色、尺寸,避免两类视觉元素混淆
  • 增加自动布局适配,解决标题、标签被画布边缘截断的问题
  • 可选配置网格、图例,和预期可视化效果对齐

修改后的完整可运行代码如下:

import numpy as np
from matplotlib import pyplot
from Assembly import AssembleCenterCoordinates

def centerPlot(G, A, Values, axis_size):
    coorCenter = AssembleCenterCoordinates(G, A)
    coorCorner = G.get('coor')
    
    # 数值保留2位小数
    Values = [np.format_float_positional(Values[i], precision=2) for i in range(len(Values))]
    
    # 固定画布尺寸,避免元素挤压
    fig = pyplot.figure(figsize=(8,8))
    ax = fig.add_subplot(111)
    ax.set_ylim(-axis_size,axis_size)
    ax.set_xlim(-axis_size,axis_size)
    ax.set_aspect('equal', adjustable='box')

    # 设置标题与坐标轴标签
    ax.set_title("正方形点位分布与数值标注", fontsize=14, pad=15)
    ax.set_xlabel("X 坐标", fontsize=12)
    ax.set_ylabel("Y 坐标", fontsize=12)

    # 区分两类点的显示样式
    pyplot.scatter(coorCorner[:,0], coorCorner[:,1], c='dimgray', s=20, label='正方形角点')
    pyplot.scatter(coorCenter[:,0], coorCenter[:,1], c='#1f77b4', s=45, label='正方形中心点')

    # 添加网格与图例
    ax.grid(linestyle='--', alpha=0.6)
    ax.legend()
    
    for i,j,k in zip(coorCenter[:,0],coorCenter[:,1],Values):
        # 调整标注偏移量,避免文字遮挡点位
        ax.annotate(str(k), xy=(i,j), xytext=(7,7), textcoords='offset points', fontsize=10)
    
    # 自动调整布局,防止标题、标签被截断
    pyplot.tight_layout()
    pyplot.show()

可根据实际需求修改set_title、set_xlabel、set_ylabel传入的字符串自定义显示文字,fontsize参数控制文字大小,pad参数控制标题和绘图区域的间距。

内容的提问来源于stack exchange,提问作者lemonabsence

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:45:38