上一篇,随便画了个图,参考:
matplotlib回顾篇-随便画个图
先简单回顾下,上一篇,写了什么
import matplotlib.pyplot as plt
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
这一篇,优化一下图表,让它更加的正式,好看些
增加标题
matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None, **kwargs)
plt.title('随便画个图')
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
中文乱码的问题:
我记得以前写过,直接翻一下看看
matplotlib手册(4)-中文乱码
大概是两种方式,第二种比较方便,只需要增加2行代码:
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
再次执行以下就可以了
title函数的几个参数都可以尝试下,
plt.title('随便画个图' , fontdict={'fontsize': 30 , 'color':'blue'} , pad=20)
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
补充一下,上一篇在画多条线的时候,是调用了2次plot,实际上一次也可以
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r' , [1,2,3,4] , [1,3,2,1] , 'g-.o')
增加坐标轴名称
plt.title('随便画个图' , fontdict={'fontsize': 30 , 'color':'blue'} , pad=20)
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, **kwargs)
matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, **kwargs)
利用好kwargs
plt.title('随便画个图' , fontdict={'fontsize': 30 , 'color':'blue'} , pad=20)
plt.xlabel('X轴' , fontsize=20 , color='green')
plt.ylabel('Y轴' , fontsize=20 , color='green')
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
增加数据标签
不知道有没有别的方法,先记录下这个手动标注的方式
matplotlib.pyplot.text(x, y, s, fontdict=None, withdash=<deprecated parameter>, **kwargs)
plt.title('随便画个图' , fontdict={'fontsize': 30 , 'color':'blue'} , pad=20)
plt.xlabel('X轴' , fontsize=20 , color='green')
plt.ylabel('Y轴' , fontsize=20 , color='green')
plt.plot([1,2,3,4] , [2,1,2,4] , '>-r')
plt.text(1,2.2,'(1,2)')
plt.text(2,1.2,'(2,1)')
plt.text(3,2.2,'(3,2)')
plt.text(4,4.2,'(4,2)')
公式
这里也是使用text函数,matplotlib支持LaTeX表达式,使用2个$括起来
plt.text(2,3,r'$y = x^2$' , fontsize=20)
网格
matplotlib.pyplot.grid
(b=None, which='major', axis='both', **kwargs)
plt.grid(True)
图例
matplotlib.pyplot.legend(*args, **kwargs)
plt.legend(['我是一朵云'])
续集,也到这里,再见。