python画图简介
python画图主要是通过 Matplotlib模块实现,Seaborn 基于 Matplotlib 进行了简化,可应对绝大部分工作。日常使用推荐学习seaborn,后续根据需要酌情扩展 Matplotlib。
1、seaborn学习资料
(1)Seaborn 数据可视化基础教程
(2)十分钟掌握Seaborn,进阶Python数据可视化分析
(3)seaborn官网
(4)Seaborn和matplotlib对比,简略了解下即可;
(5)seaborn 0.9 中文文档
2、matplotlib学习资料
(1)Matplotlib 数据可视化基础教程
(2)
3、扩展学习资料
与其到处找资料、分散学习,不如跟随一个账号伴随学习,推荐图片中的 公众号: pythonic生物人
4、实际练习
1、kaggle泰坦尼克号数据集——数据分析全流程
2、python可视化52|最有价值50图表(python实现代码分享)
5、常用命令(待补充)
6、常用知识点备查
6.1 plt的默认属性rc参数
此部分内容全部来源于plt.rcParams属性总结
plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。
通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。rc参数存储在字典变量中,通过字典的方式进行访问。
序号 属性 说明
1 plt.rcParams[’axes.unicode_minus’] = False 字符显示
2 plt.rcParams[’font.sans-serif’] = ‘SimHei’ 设置字体
线条样式:lines
3 plt.rcParams[’lines.linestyle’] = ‘-.’ 线条样式
4 plt.rcParams[’lines.linewidth’] = 3 线条宽度
5 plt.rcParams[’lines.color’] = ‘blue’ 线条颜色
6 plt.rcParams[’lines.marker’] = None 默认标记
7 plt.rcParams[’lines.markersize’] = 6 标记大小
8 plt.rcParams[’lines.markeredgewidth’] = 0.5 标记附近的线宽
横、纵轴:xtick、ytick
9 plt.rcParams[’xtick.labelsize’] 横轴字体大小
10 plt.rcParams[’ytick.labelsize’] 纵轴字体大小
11 plt.rcParams[’xtick.major.size’] x轴最大刻度
12 plt.rcParams[’ytick.major.size’] y轴最大刻度
figure中的子图:axes
13 plt.rcParams[’axes.titlesize’] 子图的标题大小
14 plt.rcParams[’axes.labelsize’] 子图的标签大小
图像、图片:figure、savefig
15 plt.rcParams[’figure.dpi’] 图像分辨率
16 plt.rcParams[’figure.figsize’] 图像显示大小
17 plt.rcParams[’savefig.dpi’] 图片像素
6.2 figure函数—画布
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
my_dpi = 126
fig = plt.figure(figsize=(580/my_dpi, 480/my_dpi))
figure语法说明
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
6.3 add_axes函数—图像大小
#获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
d = 0.05
ax = fig.add_axes([d, d, 1-2*d, 1-2*d])
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
6.4 set_xlim、set_ylim函数—xy轴长度
设置x,y轴的最大值的上限
ax.set_xlim(0, 8)
ax.set_ylim(0, 8)
6.5 set_xlable、set_ylable函数-xy轴标签
设置x轴,y轴的标签
ax.set_xlabel('cos')
ax.set_ylabel('sin')
6.6 set_xticks、set_yticks函数-xy轴刻度
设置带有刻度列表的x刻度、y刻度
ax.set_xticks(np.arange(1, 8))
ax.set_yticks(np.arange(1, 8))
6.7 set_xticklabels、set_yticklabels-xy轴刻度标签
X标记指定数字,并替换成想要的标签代指;
ax.set_xticks([1.4,3.14,6.28])
ax.set_xticklabels(['OEN','π','2π'])
6.8 grid—网格线
绘制有刻度的网格线
ax.grid(linestyle=":", linewidth=0.2, color='b')