前面写了30篇博客来讲数据分析的基础部分,这篇博客终于开始写数据可视化了
这篇博客写一下Matplotlib简介及图表窗口,Matplotlib是一个Python版的matlab绘图接口,以2D为主,支持Python,numpy,pandas基本数据结构,运营高效且有较丰富的图表库
使用Matplotlib的时候首先要引入它的包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt#引入matplotlib包

(1)图表窗口1—plt.show()
plt.show( ) 直接生成图表

plt.plot(np.random.rand(10))#创建数据
plt.show()#显示图表

输出结果:

python在电脑屏幕绘制 python绘制窗口_python


(2)图表窗口2—魔法函数,嵌入图表

可以使用魔法函数直接嵌入图表,不需要使用plt.show( ) 来显示

% matplotlib inline  #引入模块
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x,y)#绘制散点图

输出结果:

python在电脑屏幕绘制 python绘制窗口_python在电脑屏幕绘制_02


(3)图表窗口3—模范函数,弹出可交互的matplotlib窗口

matplotlib模块可以绘制可交互的图表窗口

%matplotlib notebook #引入模块
s = pd.Series(np.random.randn(100))
s.plot(style = 'k--o',figsize=(10,5))

输出结果:

python在电脑屏幕绘制 python绘制窗口_数据分析_03


这个可交互式窗口用起来还是很舒服的

(4)图表窗口4----魔法函数,弹出matplotlib控制台

如果在前面有加载过 notebook显示方式,则需要重启再运行魔法函数,一旦加载过一个显示方式则会一直默认为显示该方式

%matplotlib qt5  #引入模块
df = pd.DataFrame(np.random.rand(50,2),columns=['A','B'])
df.hist(figsize=(12,5),color='g',alpha=0.8)

输出结果:

python在电脑屏幕绘制 python绘制窗口_数据分析_04


(5)图表基本元素—图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等

创建数据,并创建图表对象,赋值于fig

df = pd.DataFrame(np.random.rand(10,2),columns=['A','B'])
fig = df.plot(figsize=(6,4))

设置图表名称,x轴标签,y轴标签

plt.title('Interesting Graph - Check it out')  # 图名
plt.xlabel('Plot Number')  # x轴标签
plt.ylabel('Important var') # y轴标签

设置图例位置

plt.legend(loc = 'upper right')

loc的参数有以下几种:
‘best’:自适应方式
‘upper right’:右上角
‘upper left’:左上角
‘lower left’:左下角
‘lower right’:右下角
‘right’:右边
‘center left’:
‘center right’:
‘lower center’:
‘upper center’:
‘center’:

设置x轴和y轴边界以及刻度

plt.xlim([0,12])  # x轴边界
plt.ylim([0,1.5])  # y轴边界
plt.xticks(range(10))  # 设置x刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1.0,1.2])  # 设置y刻度

设置x轴和y轴刻度标签

fig.set_xticklabels("%.1f" %i for i in range(10))  # x轴刻度标签
fig.set_yticklabels("%.2f" %i for i in [0,0.2,0.4,0.6,0.8,1.0,1.2])  # y轴刻度标签

绘制最终图表

print(fig,type(fig))

python在电脑屏幕绘制 python绘制窗口_可视化_05


(6)其他元素可视性

通过ndarray创建图表

x = np.linspace(-np.pi,np.pi,256,endpoint = True)
c, s = np.cos(x), np.sin(x)
plt.plot(x, c)
plt.plot(x, s)

显示网格

plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x')

这里要注意以下参数:
linestyle:线型;
color:颜色;
linewidth:宽度;
axis:x,y,both,显示x/y两者的网格

刻度显示

plt.tick_params(bottom='on',top='off',left='on',right='off')

设置刻度的方向

import matplotlib
matplotlib.rcParams['xtick.direction'] = 'out' 
matplotlib.rcParams['ytick.direction'] = 'inout'

关闭坐标轴

frame = plt.gca()#也可以写作plt.axis('off')

输出结果:

python在电脑屏幕绘制 python绘制窗口_python_06


太晚啦,就到这里啦