人生苦短,我用 Pythonpython
前文传送门:shell
小白学 Python 数据分析(2):Pandas (一)概述函数
小白学 Python 数据分析(3):Pandas (二)数据结构 Series字体
小白学 Python 数据分析(4):Pandas (三)数据结构 DataFramespa
小白学 Python 数据分析(5):Pandas (四)基础操做(1)查看数据.net
小白学 Python 数据分析(6):Pandas (五)基础操做(2)数据选择3d
小白学 Python 数据分析(7):Pandas (六)数据导入code
小白学 Python 数据分析(8):Pandas (七)数据预处理orm
小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
小白学 Python 数据分析(10):Pandas (九)数据运算
小白学 Python 数据分析(11):Pandas (十)数据分组
小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
小白学 Python 数据分析(13):Pandas (十二)数据表拼接
小白学 Python 数据分析(14):Pandas (十三)数据导出
小白学 Python 数据分析(16):Matplotlib(一)坐标系
各位同窗好,我又来了,本文给你们带来的是有关 Matplotlib 的一些基础操做。
在前一篇文章中,咱们介绍了如何使用 Matplotlib 绘制坐标系,本文咱们接着介绍 Matplotlib 。
先看一个简单的示例:
import matplotlib.pyplot as plt
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlabel('年份')
plt.ylabel('销量')
plt.plot(x_data, y_data)
plt.show()
复制代码
结果以下:
好像哪里不太对的样子,横轴和数轴的标题没有显示出来,看一下程序运行,没有报错,可是报出来一个警告:
RuntimeWarning: Glyph 24180 missing from current font.
复制代码
这个警告的含义是 plt 画图是找不到字体,那么这里咱们手动设置一下字体:
plt.rcParams['font.sans-serif']=['SimHei']
复制代码
完整的样例代码以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlabel('年份')
plt.ylabel('销量')
plt.plot(x_data, y_data)
plt.show()
复制代码
结果以下:
这下显示正常了。
咱们还能够经过参数 labelpad
设置标题到坐标轴的距离,这里为了演示效果设置的距离稍微大了点:
plt.xlabel('年份', labelpad=50)
plt.ylabel('销量', labelpad=50)
复制代码
结果以下:
咱们还能够经过参数对文本的相关属性进行设置,下面看下一些经常使用的设置参数:
plt.xlabel('年份', labelpad=50, fontsize='xx-large', fontweight='bold', rotation='vertical', backgroundcolor='red')
plt.ylabel('销量', labelpad=50)
复制代码
先看结果:
xlabel 中经常使用的一些参数:
默认坐标轴是显示 x y 的值,可是也能够自定义显示不一样的刻度,这里须要使用到的函数为 xticks
和 yticks
两个函数:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xticks(x_data, ['2011年','2012年','2013年','2014年','2015年','2016年','2017年'])
plt.yticks(y_data)
plt.plot(x_data, y_data)
plt.show()
复制代码
结果以下:
有些时候,因为数据脱敏的须要,咱们不要显示刻度,还能够这么写:
plt.xticks(x_data, [])
plt.yticks(y_data, [])
复制代码
这样展示出来的图形以下:
实际上,咱们还有更狠的操做,直接关闭坐标轴:
plt.axis("off")
复制代码
结果以下:
咱们还能够对坐标轴的范围进行设置,以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlim(2011, 2020)
plt.ylim(50000, 90000)
plt.plot(x_data, y_data)
plt.show()
复制代码
结果以下:
这里设置在 Y 轴上最大值为 90000 ,那么 2016 和 2017 对应的数据将会没法显示,实际咱们从得出的结果图上也能看出这一点。
网格线默认是关闭的,咱们能够经过函数 grid
修改参数 b
来开启网格线,以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.plot(x_data, y_data)
plt.grid(b=True)
plt.show()
复制代码
结果以下:
咱们不只可开启网格线,还能够经过参数 axis
来控制是开启哪一个轴的网格线:
# 开启 x 轴网格线
plt.grid(b=True, axis='x')
# 开启 y 轴网格线
plt.grid(b=True, axis='y')
复制代码
图例能对图表起到注释的做用,咱们能够经过参数 label
对该图表的图例进行设置,示例以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.plot(x_data, y_data, label = '折线图')
plt.bar(x_data, y_data, label = '柱状图')
plt.legend()
plt.show()
复制代码
结果以下:
图表标题是用来归纳整张图表现的内容的,咱们能够经过以下方式设置一张图的标题:
plt.title(label='xxx 公司 xxx 产品销量')
复制代码
结果以下:
本文的内容就到这里了,下一篇咱们介绍 Matplotlib 的经常使用图表的示例,本文的示例代码写的有点乱,就不贴出来了,固然,若是常常看小编写的文章的估计都找获得。