可视化 DataFrame 数据中文不乱码的解决方案
要将pandas
处理后的DataFrame
数据进行可视化可以通过第三方库matplotlib
来实现,使用pandas
和matplotlib
前需确保其已经安装。如果对pandas
处理后的数据进行可视化时出现了中文乱码的现象,可通过如下方式解决:
- 通过参数字典
rcParams
修改已经加载的配置项,如下是具体步骤:- 创建
DataFrame
数据。 - 修改已经加载的配置项。
- 可视化数据。
- 创建
如下是通过参数字典rcParams
修改已经加载的配置项解决中文乱码的代码示例:
import pandas as pd
import matplotlib.pyplot as plt
def data_visualization(data):
df = pd.DataFrame(data)
# 修改已经加载的配置项
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 2.绘制折线图
plt.plot(df["城市"], df["人口"], marker='o')
plt.xlabel('城市', fontsize=20)
plt.ylabel('人口', fontsize=20)
# 显示图像
plt.show()
data = {'城市': ['北京', '上海', '广州', '深圳'],
'人口': [2154, 2424, 1404, 1303]}
data_visualization(data)
- 通过参数
fontproperties
指定字体文件,如下是具体步骤:- 创建
DataFrame
数据。 - 指定字体文件并创建字体对象。
- 设置图片标题并加载数据。
- 可视化数据。
- 创建
如下是通过参数fontproperties
指定字体文件解决中文乱码的代码示例:
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
import pandas as pd
def data_visualization(data):
df = pd.DataFrame(data)
# 指定字体文件
font = FontProperties(fname="msyh.ttc")
# 绘制画布
plt.figure(figsize=(8, 6), dpi=80)
plt.plot(df['城市'], df['人口'], 'ro-')
# 设置标题
plt.title('城市人口统计', fontsize=30, fontproperties=font)
# 加载数据
plt.xlabel('城市', fontsize=20, fontproperties=font)
plt.ylabel('人口(万)', fontsize=20, fontproperties=font)
plt.xticks(fontproperties=font)
plt.yticks(fontproperties=font)
# 可视化数据
plt.show()
data = {'城市': ['北京', '上海', '广州', '深圳'],
'人口': [2154, 2424, 1404, 1303]}
data_visualization(data)
如上就是可视化pandas
数据时解决中文乱码问题的两种方式,你可以根据自己的需求选择其中的一种。
注意,如果你使用指定字体文件的方式,则需要将代码种的字体文件路径替换为你自己的字体文件路径。