三、基本绘图工具
1 引入包
# coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt #pip3 install matplotlib
import seaborn as sns #pip3 install seaborn
1 折线图
def broken_line():
s = pd.Series(np.random.randn(20).cumsum())
s.plot(style='o-',xlim=[0,22],grid=True)
plt.show()
df = pd.DataFrame(np.random.randn(10,3).cumsum(0),
columns = ['A','B','C'],
index = np.arange(0,100,10))
df.plot()
plt.show()
2柱状图
def Histogram():
flag,axes = plt.subplots(2,1)
s = pd.Series(np.random.randn(10),index=list('ABCDEFGHIJ'))
s.plot.bar(ax=axes[0])#纵向柱状图
s.plot.barh(ax=axes[1])#横向柱状图
plt.show()
flag,axes = plt.subplots(2,1)
df = pd.DataFrame(np.random.randn(6,3),
index = list('abcdef'),
columns = list('ABC'))
df.plot.bar(ax=axes[0])
df.plot.barh(ax=axes[1],stacked=True)#stacked=True表示生成堆积柱状图
plt.show()
3 直方图 & 密度图
def density_map():
flag,axes = plt.subplots(2,1)
s = pd.Series(np.random.randn(100))
s.plot.hist(ax=axes[0])#直方图
s.plot.density(ax=axes[1])#密度图,C:\Users\xiang>pip3 install scipy
plt.show()
s = pd.Series(np.random.normal(0,1,100))
sns.distplot(s,color='g')
plt.show()
4 散点图
def scatter_diagram():
df = pd.DataFrame(np.random.randn(100,3),
columns = list('ABC'))
sns.regplot('A','B',data=df) #散点图
plt.show()
sns.pairplot(df,diag_kind='kde')#散布图
plt.show()
在人工智能领域,经常用折线来做回归的拟合线,用散点图来做分类图。