Python数据分析——matplotlib(绘图)

(本专栏是我的慕课学习笔记,后续发现不足之处会更新)

首先是matplotlib最基础的操作的应用,有一个大概的认识:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)  # 横轴,-pi到pi之间,256个点
c = np.cos(x)    # c代表cos
plt.figure(1)
plt.plot(x, c)  # 变量分别是自变量和因变量(必须)
plt.show()  # 显示图形

运行效果:
在这里插入图片描述

下面对该图表加以改进:

import numpy as np
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,s代表sin
plt.figure('这是一个cos')   # 程序框标题
plt.plot(x, c, color='red', linewidth=3.0, label='y=sinx')  # 变量分别是自变量和因变量(必须)
plt.plot(x, s, color='blue', linestyle='-.', label='y=cosx')    # 后续变量指定颜色,线宽(非必须)
plt.legend(loc='upper left', fontsize=16)    # 设置上面两个label的显示位置
# linestyle有4种:①'-',实线 ②'--',虚线 ③'-.',线点交替 ④':',点线
plt.rcParams['font.sans-serif']=['FangSong']
plt.rcParams['axes.unicode_minus'] = False  # 如果没有这两行,图表标题中的中文无法显示
plt.title("cos和sin在(-pi,pi)中的表示", fontsize=16)

ax = plt.gca()  # 轴的编辑器
ax.spines['right'].set_color('None')    # 将右边界线隐藏
ax.spines['top'].set_color('None')      # 将上边界线隐藏
ax.spines['left'].set_position(('data', 0))   # 将左边界设为自变量为0处
ax.spines['bottom'].set_position(('data', 0))   # 将下边界设为自变量为0处(即相交点为(0,0))

ax.xaxis.set_ticks_position("bottom")   # 横坐标的字在轴的下边
ax.yaxis.set_ticks_position("left")     # 纵坐标的字在轴的左边
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],   # Latex语法
           [r'$-\pi$', r'$-\pi/2$', '$0$', r'$+\pi/2$', r'$+\pi$'])
plt.yticks(np.linspace(-1, 1, 5, endpoint=True))    # -1到1,标5个点
for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(16)
    label.set_bbox(dict(facecolor='red', edgecolor='None', alpha=0.08))  # 对坐标旁边的字进行设置

plt.grid()      # 网格线
plt.axis([-3.5, 3.5, -1.2, 1.2])    # 显示范围
plt.plot([1, 1], [0, np.cos(1)], linestyle='--')    # (1,0)到(1,cos1)之间加一条虚线
# 注释内容,字体大小,注释坐标(原坐标+偏移量),箭头类型
plt.annotate('cos1', xy=(1, np.cos(1)), fontsize=16, xytext=(+10, +30),
             textcoords='offset points', arrowprops=dict(arrowstyle='->', connectionstyle='arc3'))
plt.show()  # 显示图形

运行效果:
在这里插入图片描述


氷鸢鸢鸢
2020.8.5

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页