数据分析最常用的matplot基础使用笔记,大家可以直接复制修改相关属性就可以看到前后的对比效果,本人编辑器pycharm
# -*- coding:utf-8 -*-
"""
@author: Fane
@file: matplotlibTest.py
@time:2017/8/12 22:01
"""
import numpy as np
def main():
import matplotlib.pyplot as plt
x = np.linspace(-np.pi,np.pi,256,endpoint = True) #定义自变量范围:-pi到pi之间包含256个点,包含最后一个点
c,s=np.cos(x),np.sin(x) #两个变量一起定义,表示c=cos(x);s=sin(x)
plt.figure(2) #创建画布,图像编号Figure1
plt.plot(x,c,color="blue",linewidth=1.0,linestyle="-",label="COS",alpha=0.5) #cos曲线,自变量x,因变量sin(x),透明度0.5
plt.plot(x,s,"r*",label="SIN") #画出sin曲线,自变量为x,因变量为sin(x)
plt.title("COS & SIN") #图标标题
# plt.show()
#修改坐标值位置
ax = plt.gca() #轴编辑器
ax.spines["right"].set_color("none") #消除右边和上面的画布实线边框
ax.spines["top"].set_color("none")
ax.spines["left"].set_position(("data",0)) #设定纵坐标竖线位置在x=0的位置
ax.spines["bottom"].set_position(("data",0)) #设定横坐标横线位置在y=0的位置
ax.xaxis.set_ticks_position("bottom") #设置x轴数字显示的位置在坐标轴底部
ax.yaxis.set_ticks_position("left")
# plt.show()
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi]) #设置x轴上标记显示的坐标点
plt.yticks(np.linspace(-1, 1, 5, endpoint=True)) #设置y轴显示范围-1-1之间,5表示在-1-1之间均分标记坐标点
for label in ax.get_xticklabels() + ax.get_yticklabels():
label.set_fontsize(12) #设置x,y轴上标记点的字号大小
label.set_bbox(dict(facecolor="blue", edgecolor="None", alpha=0.2)) #设置标记点的背景色(blue),背景边界(None)和透明度
plt.legend(loc="upper left") #在画布左上角,显示每条线与函数的对应说明
plt.grid() #显示虚线网格
# plt.axis([-1,1,-0.5,1]) #只显示x在-1-1,y在-0.5-1之间的图形
plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.2, color="green", alpha=0.25) #标记阴影区域
#添加专门注释
t = 1
plt.plot([t, t], [0, np.cos(t)], linewidth=3, linestyle="--")
#添加特殊标记点:annotate(注释点位置,,注释显示位置偏移量防止覆盖图线,偏移量是相对位置,箭头类型(,,))
plt.annotate("cos(1)", xy=(t, np.cos(t)), xytext=(+10, +30), textcoords="offset points",arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=0.2"))
plt.show()
if __name__ == "__main__":
main()
最终效果如图: