这是我基于Python画图的学习笔记,主要是跟着 matplotlib.org 上的 sample plots 和 thumbnail gallery 的示例去学习;
为什么要研究呢,主要还是帮助我们在宏观上理解数据,探索数据,发掘问题;我可能会在示例的基础上把自己工作中遇到的问题融入进去,如果能帮助您少走一些弯路,是我莫大的荣幸。
Simple Plot 简单的图
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from pylab import mpl
mpl.rcParams['font.family] = ['simhei'] # 这是解决中文显示的问题,不需要可忽略,需要也不能直接用,请单独解决
'''画图总还是得有数据的,下面就是个普通的线图,自己有数据就自己替换啦'''
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
fig, ax = plt.subplots() # 这里更建议 fig,ax = plt.subplots(figsize=(总画布的长,总画布的宽),ncols=子画布多少列,nrows=子画布多少行) ,这样你就可以把多个图汇总在一个画布上了
ax.plot(t, s) # 这里面都是默认的,没有设置线的粗细,颜色之类的
ax.set(xlabel='time (s)', ylabel='voltage (mV)', title='About as simple as it gets, folks') # 设置了x轴的名称,y轴的名称,图片标题的名称(均没有使用汉字)
ax.grid() # 默认是Ture 就是打开网格线,不需要网格线改成False即可
fig.savefig("test.png") # 不制定路径就同文件目录
plt.show()
下面是运行的图片
我们在这个基础上做一些调整:
1.换个颜色,换个线型,好看点
2.换个背景颜色,不伤眼
3.调整一下刻度尺,x轴再密些,y轴再松一些;
fig, ax = plt.subplots(facecolor='darkslategray') # 给了个深绿色做画布背景
ax.set_facecolor('Khaki') #给了个卡其色做子图背景
ax.plot(t, s
,color = 'green'
,linestyle = 'dashdot'
,linewidth = 2
)
ax.grid(True,color='red',linestyle = 'dashed' ) # 改成虚线,改了网格线颜色,改了线宽
ax.set_xticks(np.linspace(0,2,13))
ax.set_yticks(np.linspace(0,2,5)) #改了刻度轴 改了的地方我单独粘了出来
好不好看这件事情是需要颜色搭配的,折线图是大家都比较容易理解的,越学习越发现matplotlib很赞,当然也是村里的孩子见识少,勿喷