对于开始触摸matplotlib绘图库的朋友来说,绘图的字体设置、轴标签设置、图例和标题是令人头疼的问题,但作为绘图的根底设置,咱们有必要熟悉把握。作为笔者第一个触摸的绘图库,笔者依据以往的绘图经历,对以上几个方面进行总结。
主要内容有:画布巨细设置、字体设置、轴标签设置、图例设置、标题设置
一、画布巨细设定
python设置画布语法为(常用参数):
plt.figure(figsize = None, dpi = None, facecolor = None, edgecolor = None, frameon = True)
figsize:画布的宽和高,单位为英寸。例如figsize = (8, 6),生成8英寸宽,6英寸高的画布
dpi:画布分辨率。表明的是每英寸点数(1英寸≈2.54cm),默许即可,笔者习气调至100
facecolor:背景色彩
edgecolor:边框色彩
frameon:是否显现边框
下图展示了生成画布为4英寸3英寸,分辨率为100,背景色为’mistyrose’的图画。一般来说,前两个参数最常用。
import matplotlib.pyplot as plt
plt.figure(figsize=(4,3),dpi=100,facecolor='mistyrose')
plt.plot([1, 2, 3], [1, 2, 3])plt.show()
**下图是常用的色彩对照表,也能够运用十六进制色彩**
二、字体设置
在默许情况下,matplotlib是不支持中文格局的。例如下面代码:
plt.figure(figsize = (4, 3))
plt.plot([1, 2, 3], [1, 2, 3])
plt.title('测企图')
plt.show()
一般来说,咱们能够在最初设置字体款式:
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] #设置默许字体款式
plt.figure(figsize = (4, 3))
plt.plot([1, 2, 3], [1, 2, 3])
plt.title('测企图')
plt.show()
可是,一般来说作图咱们要求数字为Times New Roman,而文字为宋体等。咱们能够保持默许字体款式,新建字体款式,在增加中文字体时调用新建的字体款式,其他的保持默许款式。新建字体款式代码如下:
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['Times New Roman'] #设置默许款式为新罗马
font1 = {'family' : 'Times New Roman','weight' : 'normal','size' : 20,'style':'italic',}#新建字体款式1,设置字体为新罗马,巨细为20号,斜体
font2 = {'family' : 'simsun','weight' : 'normal','size' : 15,'style':'italic',}#新建字体款式2,设置字体为宋体,巨细为15号,斜体(可是依据实验,斜体在中文并不适用)
plt.figure(figsize = (4, 3))
plt.plot([1,2,3],[1,2,3])#轴标签依然运用默许款式
plt.title('测企图', font2) #增加标题,运用2号款式
plt.show()
一般支持的字体有:Times New Roman;SimHei(黑体);Microsoft YaHei(微软雅黑);simsun(宋体),这些基本上能满足制图应用。
三、轴标签设置
以2015年全国各气象站点的pm2.5与模型猜测的pm2.5浓度为例,选取前100个数据制作散点图。
import matplotlib.pyplot as plt
import matplotlib as mpl
rel_pm2_5 = data['pm2_5'][:100] #读取前100个实在值
pred_pm2_5=data['pred_pm2_5'][:100]#读取前100个猜测值
plt.scatter(rel_pm2_5, pred_pm2_5, color = 'k', s = 10, label = 'scatter figure')#scatter语法今后会说,color为散点色彩,s代表散点巨细,label表明图例显现的文字plt.legend()
plt.show()
现需要将x轴坐标以间隔100进行设置,y轴也以100进行设置,并设置字体巨细为15。x轴标签增加文字“观测值”,y轴标签增加文字“猜测值”,运用宋体18号。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
mpl.rcParams['font.sans-serif'] = ['Times New Roman'] #设置默许字体
font1 = {'family' : 'simsun','weight' : 'normal','size' : 18,'style':'italic'}#自定义字体款式
rel_pm2_5 = data['pm2_5'][:100]
pred_pm2_5 = data['pred_pm2_5'][:100]
plt.scatter(rel_pm2_5, pred_pm2_5, color = 'k', s = 10, label = 'scatter figure')
plt.xlim(0, 400) #设置x坐标的范围
plt.ylim(0, 400)
plt.xticks(range(0, 401, 100), size = 15) #设置x轴刻度字体巨细和刻度,字体选用默许,刻度为[0, 100, 200, 300, 400]
plt.yticks(range(0, 401, 100), size = 15)
plt.xlabel('观测值', font1) #设置x轴标签,字体选用1号款式
plt.ylabel('猜测值', font1)
plt.legend()
plt.show()
现需要将刻度[0, 100, 200, 300, 400]分别换为[A, B, C, D, E],仅需改动一句代码:
plt.xticks(range(0, 401, 100), ['A', 'B', 'C', 'D', 'E'], size = 15)
四、图例设置
图例语法为:
plt.legend(loc, bbox_to_anchor, ncol, title, shadow, fancybox, prop)
loc:方位参数,1表明右上,2表明左上,3表明左下,4表明右下,5表明右中,6表明左中,7表明右中(和5一样),8表明中下,9表明中上,10表明中部。(非必选参数,默许为最佳方位,示例:loc = 1)
bbox_to_anchor:表明图例线框所在方位,bbox_to_anchor = (0.05, 0.95)表明把图例左上角对应坐标为(0.05x轴长度,0.95y轴长度)。(非必选参数)
ncol:图例每行包容的图例数。例如一个图中有多个线,就会有多个图例。(非必选参数,示例:ncol = 3)
title:图例标题。(非必选参数)
fancybox:值为True或False,图例边框显现圆角式还是直角,默许True。(非必选参数,示例:fancybox = True)
prop:能够设置字体。例如:prop = {‘family’: ‘Times New Roman’, ‘size’: 14}表明字体为新罗马,巨细为14。如果仅仅只设置字体巨细,能够不用prop,直接用fontsize = 15即可。(非必选参数)
plt.legend(loc=4,fontsize=15)#设置方位为右下,字体为15号
五、标题设置
语法:plt.title()。将图9增加标题“散点图”,运用1号字体款式。
plt.title('散点图',font1)
能够看出标题设置成了1号款式指定的字体,咱们也能够树立其他字体来设置不同的作用。
总结
本文总结了Matplotlib绘图的基本操作:画布巨细设置、字体设置、轴标签设置、图例设置和标题设置。作为可视化的基本组成元素,咱们需要熟练这些操作,加快可视化学习功率,美化咱们的图画。
本篇到此结束,下一节将介绍Matplotlib的均匀绘图问题。此内容将在”python数据剖析实践”公众号同步更新。如果您有更好的主意或对文章有其他主张,能够重视或谈论留言。如果有想要了解其它的内容,也能够联系或谈论,感谢您的阅读!