一、导入前图形参数配置
"""配置参数""" from __future__ import division, print_function # 引入3.x版本的除法和打印 from matplotlib import pyplot as plt import pandas as pd import numpy as np # 在notebook中显示绘图结果 %matplotlib inline # 设置一些全局的资源参数,可以进行个性化修改 import matplotlib # 设置图片尺寸 14" x 7" # rc: resource configuration matplotlib.rc('figure', figsize = (14, 7)) # 设置字体 14 matplotlib.rc('font', size = 14) # 不显示顶部和右侧的坐标线 matplotlib.rc('axes.spines', top = False, right = False) # 不显示网格 matplotlib.rc('axes', grid = False) # 设置背景颜色是白色 matplotlib.rc('axes', facecolor = 'white')
二、绘图细节
import matplotlib.pyplot as plt import numpy as np from matplotlib.font_manager import FontProperties #字体管理器 # data["用户使用频率"].plot.bar() plt.rcParams["figure.figsize"] = (5,8) # 设置图形大小 # 坐标轴上移 """ df.plot(x,y) : 折线图 df.plot.bar(): 纵向条形图, df.plot.barh() : 横向条形图 , df.plot.bar(stacked=True) : 堆积条形图 df.plot.hist(x,bins=20) : 直方图,可以指定bins的数量值, df.hist(bins=20) 为每一列生成一个直方图 df.plot.box() df.plot.box(): 每列中值的箱型图分布,df.boxplot() : 每列中值的箱型图分布,有网格线 df.plot.area():面积图 df.plot.scatter(x = "a",y = "b") : a,b两列之间的散点图 df.corr() # pearson相关系数,出数据,不画图 import seaborn as sns sns.heatmap(data.corr()) : 相关性图形 df["a"].plot.pie(subplots=True) : 取单列观察数据饼图 df.plot.pie(y='b',subplots=True,figsize=(10, 10)),data.plot.pie(subplots=True):多个饼图 """ # data.plot() # x轴默认为data index, 选择data["a"]作为y轴数据 ,plot.bar() 图形类型 ax = plt.subplot(111) # # ax = plt.subplot(2,2,1) # ax.spines['right'].set_color('none') # 去掉右边的边框线 # ax.spines['top'].set_color('none') # 去掉上边的边框线 # ax.xaxis.set_ticks_position('bottom') # 移动下边边框线,相当于移动 X 轴 # ax.spines['bottom'].set_position(('data', 0)) # 移动下边边框线,相当于移动 X 轴 # ax.yaxis.set_ticks_position('left') # 移动左边边框线,相当于移动 y 轴 # ax.spines['left'].set_position(('data', 0)) # 移动左边边框线,相当于移动 y 轴 # plt.xlim(x.min()*1.1, x.max()*1.1) # 设置 x, y 轴的刻度取值范围 # plt.ylim(-1.5, 4.0) # 设置 x, y 轴的刻度取值范围 # plt.axis([0, 8, 0, 20]) #设置轴的区间 # plt.xticks([2, 4, 6, 8, 10], [r'two', r'four', r'six', r'8', r'10']) # 设置 x, y 轴的刻度标签值 # plt.yticks([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], # [r'-1.0', r'0.0', r'1.0', r'2.0', r'3.0', r'4.0']) # 设置 x, y 轴的刻度标签值 # plt.xticks(rotation=40,color='red',backgroundcolor='b')#设置x轴标签字体颜色、背景色、倾斜度 # plt.yticks(rotation=40,color='red')#设置x轴标签字体颜色、背景色、倾斜度 # plt.title(r'$the \ function \ figure \ of \ cos(), \ sin() \ and \ sqrt()$', fontsize=19) # 设置英文标题 # plt.xlabel(r'$the \ input \ value \ of \ x$', fontsize=18, labelpad=88.8) # 设置英文标题 # plt.ylabel(r'$y = f(x)$', fontsize=18, labelpad=12.5) # 设置英文标题 plt.title(u"散点图测试", fontproperties='SimHei') # 设置中文标题 plt.xlabel('横坐标', fontproperties='SimHei') # 设置中文标题 plt.ylabel('纵坐标', fontproperties='SimHei',fontsize=20, labelpad=88.8) # 设置中文标题,fontsizeze字体大小,labelpad距离坐标轴距离 plt.text(0.8, 0.9, r'$x \in [0.0, \ 10.0]$', color='k', fontsize=15) # 在数据图中添加文字描述 text plt.text(0.8, 0.8, r'$y \in [-1.0, \ 4.0]$', color='k', fontsize=15) # 在数据图中添加文字描述 text # plt.annotate(r'$2\sqrt{2}$', xy=(8, np.sqrt(8)), xytext=(8.5, 2.2), fontsize=16, color='#090909', arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=0.1', color='#090909')) # 数据图中给特殊点添加注解 annotate: plt.legend(['cos(x)', 'sin(x)', 'sqrt(x)'], loc='upper right') plt.grid(True) # 网格线开关 plt.show() # 显示 savefig('../figures/plot3d_ex.png',dpi=48) # 保存,前提目录存在