python中绘图时,出现坐标轴中文字体不显示或显示错误的问题

在绘制图形时,出现坐标轴中文字体不显示或显示错误的问题

         通常是因为Matplotlib默认使用的字体不支持中文字符。我们需要手动设置字体,使其能够正确显示中文

以下是解决办法的步骤:

    1. 安装支持中文的字体:确保系统中已经安装了支持中文的字体,例如SimHei(黑体)。
    2. 配置Matplotlib字体:在代码中添加配置,使Matplotlib使用支持中文的字体。

可以通过以下代码来解决中文显示问题:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标轴负号显示问题

# 创建数据框
data = {
    '无人机1': [85, 75, 90, 95, 80],
    '无人机2': [78, 68, 85, 90, 70],
    '无人机3': [92, 85, 88, 92, 85],
    '无人机4': [88, 90, 95, 85, 75],
    '无人机5': [80, 70, 80, 88, 82]
}
tasks = ['任务分配完成度', '路径规划效率', '目标识别准确率', '重组成功率', '联合打击精度']

df = pd.DataFrame(data, index=tasks)

# 生成热力图
plt.figure(figsize=(10, 6))
sns.heatmap(df, annot=True, cmap='YlGnBu', cbar=True)
plt.title('无人机蜂群作战评估热力图')
plt.xlabel('无人机')
plt.ylabel('任务/指标')
plt.show()

 代码: 

    这个设置将字体设为SimHei(黑体),从而正确显示中文字符。同时,还解决了坐标轴上负号显示的问题。如果系统中没有安装SimHei字体,可以安装其他支持中文的字体并替换字体名称。

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标轴负号显示问题

posted @ 2024-07-31 10:15  taohuaxiaochunfeng  阅读(1163)  评论(0编辑  收藏  举报