画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等

画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等

  • plt.title显示中文
  • plt负号显示
  • plt.figure
  • plt.subplot
  • 设置横坐标倾斜、横坐标及title字体大小
  • 设置横坐标密集程度(间隔)

plt.title显示中文

# 添加下面两行显示中文,这里设置的是黑体,其他字体可自己更改,例如‘FangSong’
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']

plt负号显示

# 添加下面代码显示负号
plt.rcParams['axes.unicode_minus'] = False

plt.figure

常用参数 注释
figsize 设置图形的大小,例如figsize=(12,8)
dpi 设置图形的清晰度
facecolor 设置图片背景色
edgecolor 设置图片边框颜色

plt.subplot

画多个子图需要用到,直接看例子:

import matplotlib.pyplot as plt

# plot a line, implicitly creating a subplot(111)
plt.plot([1,2,3])
# now create a subplot which represents the top plot of a grid with 2 rows and 1 column. Since this subplot will overlap the first, the plot (and its axes) previously created, will be removed
plt.subplot(211)
#plt.plot([1,2,3])
plt.plot(range(12))
plt.subplot(212, facecolor='y')
#plt.plot(range(12))
plt.show()

结果如下:
画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等_第1张图片
注释中说到在创建子图时,会将前面创建的plot给覆盖掉。

设置横坐标倾斜、横坐标及title字体大小

在plot当中设置参数rot

data = pd.DataFrame(np.arange(30).reshape(6,5))
data.columns = ['a','b','c','d','e']
data.index = [np.arange(2011,2017)]

fig = plt.figure()
# rot设置坐标旋转角度
data['a'].plot(kind='line',rot=45)
# fontsize设置横坐标字体大小
plt.xticks(range(len(df)),np.arange(2011,2017),fontsize=10)
plt.title('设置横坐标字体大小及坐标旋转')
plt.show()

结果如下:
画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等_第2张图片

设置横坐标密集程度(间隔)

有时候数据太多,例如时间序列数据,在可视化过程中不需要将每个点的横坐标都表示出来,那可以定义xticks参数,如下面的情况:
画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等_第3张图片
可以看到x轴坐标显示太过于密集,则设置:

data = pd.DataFrame(np.arange(60).reshape(60,1))
data.columns = ['a']

fig = plt.figure()
# rot设置坐标旋转角度
data['a'].plot(kind='line',rot=45)
# 设置xticks(loc,label)中的loc即可,这里添加了[::5],即间隔五个位置显示横坐标
plt.xticks(np.arange(60)[::5],np.arange(1900,1960))
plt.title('设置横坐标间隔',fontsize=15)
plt.show()

得到结果如下:
画图当中常见问题——中文显示、负号显示坐标倾斜、字体大小等_第4张图片

你可能感兴趣的:(python笔记)