一、使用数据
使用以下数据绘图
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
df = pd.read_csv('../data/IMDB-Movie-Data.csv') # 读取数据
df.head()
二、运行时报警告
运行以下代码时报警告
min = df['Rating'].min()
max = df['Rating'].max()
plt.figure(figsize=(14, 5), dpi=100)
t = np.linspace(min, max, num=14) # 生成x轴刻度列表
plt.xticks(t) # 设置刻度
plt.grid() # 网格
plt.hist(df["Rating"].values, bins=13) # bins=13表示分为13组,13个区间
plt.xlabel("评分") # x轴标签
plt.ylabel("电影部数")
plt.title("电影评分分布图", fontsize=18)
plt.show()
警告如下
UserWarning: Glyph 30005 (\N{CJK UNIFIED IDEOGRAPH-7535}) missing from current font. fig.canvas.print_figure(bytes_io, **kw)翻译如下:用户警告:当前字体中缺少字形 30005 (\N{CJK UNIFIED IDEOGRAPH-7535})。
fig.canvas.print_figure(bytes_io,**kw)
三、原因分析
原因:无法正常显示中文,以上代码运行结果如下
四、解决方法
解决:添加以下代码
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"] # 设置显示中文字体
mpl.rcParams["axes.unicode_minus"] = False # 设置正常显示符号
如下
警告消除,结果如下
学习导航:http://xqnav.top/