Matplotlib
0Matplotlib介绍
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
1Matplotlib基本操作
-
1.1 空白图形
import matplotlib.pylab as plt plt.plot() plt.show()
-
测试结果: -
1.2读取数据展示
- it01.csv提供数据
name,confidence,money 张三,55,5555.55 李四,60,6666.66 王五,70,7777.77 赵六,80,8888.88 哈八,90,9999.99 西九,100,10000.11 吴十,NaN,3333.33 十一,44,4444.44
- 读取数据展示1
name,confidence,money 张三,55,5555.55 李四,60,6666.66 王五,70,7777.77 赵六,80,8888.88 哈八,90,9999.99 西九,100,10000.11 吴十,NaN,3333.33 十一,44,4444.44
- 读取数据展示2
import matplotlib.pylab as plt import pandas as pd itInfo = pd.read_csv('it01.csv',encoding="gb2312") plt.plot(itInfo['confidence'],itInfo['money']) #保存成图片 plt.savefig('it01.png')
测试结果:
-
1.3设置标签及倾斜
import matplotlib.pylab as plt import pandas as pd itInfo = pd.read_csv('it01.csv',encoding="gb2312") plt.plot(itInfo['confidence'],itInfo['money']) #横坐标旋转度数 plt.xticks(rotation=45) #纵坐标旋转度数 plt.yticks(rotation=45) #横坐标标题 plt.xlabel('confidence') #纵坐标标题 plt.ylabel('money') #图形名 plt.title('confidence - money') #直接展示 plt.show()
-
测试结果: -
1.4多图
- 创建多图
import matplotlib.pylab as plt #获取总视图 fig = plt.figure() #总试图添加2行2列,四象限的一象限加入试图 fig.add_subplot(2,2,1) #总试图添加2行2列,四象限的四象限加入试图 fig.add_subplot(2,2,4) #直接展示 plt.show()
-
测试结果: - 多图数据关联
import matplotlib.pylab as plt import pandas as pd itInfo = pd.read_csv('it01.csv',encoding="gb2312") #获取总视图 fig = plt.figure() #总试图添加2行2列,四象限的一象限加入试图 fs1 = fig.add_subplot(2,2,1) #总试图添加2行2列,四象限的四象限加入试图 fs2 = fig.add_subplot(2,2,4) #添加数据,c参数可以调整线条颜色 fs1.plot(itInfo['confidence'],itInfo['money']) fs2.plot(itInfo['money'],itInfo['confidence'],c='red') #直接展示 plt.show()
测试结果:
-
1.5
numpy
,matplotlib
简单demo1
import matplotlib.pylab as plt import numpy as np #指定主视图宽高 plt.figure(figsize=(16,6)) #颜色列表 colors = ['red','blue','green','orange','black'] #[10 20 30 40 50 60 70 80 90] h = np.arange(10,100,10) for i in range(5): #随机9行1列数组 v = 1000*i + np.random.randn(9,1) *1000 label = str(i*10) plt.plot(h,v,c=colors[i],label=label) #自动调整小图位置,多运行2次位置是不一样的 plt.legend(loc='best') #直接展示 plt.show()
-
测试结果: -
1.6
numpy
,matplotlib
简单demo2
-
import matplotlib.pylab as plt import numpy as np #随机2行一百列的数据 data = np.random.randn(2,100) print(data) #创建2行2列的主试图 fig,axs = plt.subplots(2,2,figsize=(10,10)) #直方图 axs[0,0].hist(data[0]) #散点图 axs[1,0].scatter(data[0],data[1]) #折线图 axs[0,1].plot(data[0],data[1]) #二维图 axs[1,1].hist2d(data[0],data[1]) #直接展示 fig.show()
测试结果: