使用pandas和matplotlib 进行绘图

使用pandas和matplotlib 进行绘图

我们有不同类型的绘图在matplotlib库,可以帮助我们做出一个合适的图,你需要。根据给定的数据,我们可以制作很多图表,在pandas的帮助下,我们可以在绘制数据之前创建一个数据框架。让我们通过使用Pandas来讨论matplotlib中的不同类型的plot。

使用以下命令安装matplotlib, pandas和numpy:

pip install matplotlib
pip install pandas
pip install numpy 

绘图类型

基本的绘图

  • 在这个基本的绘图中,我们可以使用随机生成的数据来使用series和matplotlib绘制图形。

Python3

# import libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
ts = pd.Series(np.random.randn(1000), index = pd.date_range(
                                '1/1/2000', periods = 1000))
ts = ts.cumsum()
ts.plot()
 
plt.show()

输出:

使用pandas和matplotlib 进行绘图

不同数据的曲线图

在一个图表中使用多个数据列表。

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
ts = pd.Series(np.random.randn(1000), index = pd.date_range(
                                '1/1/2000', periods = 1000))
 
df = pd.DataFrame(np.random.randn(1000, 4),
   index = ts.index, columns = list('ABCD'))
 
df = df.cumsum()
plt.figure()
df.plot()
plt.show()

输出:

使用pandas和matplotlib 进行绘图

在给定轴上绘图

我们可以显式地定义轴的名称,并在此轴的基础上绘制数据。

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
ts = pd.Series(np.random.randn(1000), index = pd.date_range(
                                '1/1/2000', periods = 1000))
 
df = pd.DataFrame(np.random.randn(1000, 4), index = ts.index,
                                      columns = list('ABCD'))
 
df3 = pd.DataFrame(np.random.randn(1000, 2),
               columns =['B', 'C']).cumsum()
 
df3['A'] = pd.Series(list(range(len(df))))
df3.plot(x ='A', y ='B')
plt.show()

输出:

使用pandas和matplotlib 进行绘图

使用matplotlib绘制条形图

找到不同类型的条形图,以清楚地理解给定数据的行为。

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
ts = pd.Series(np.random.randn(1000), index = pd.date_range(
                                '1/1/2000', periods = 1000))
 
df = pd.DataFrame(np.random.randn(1000, 4), index = ts.index,
                                      columns = list('ABCD'))
 
df3 = pd.DataFrame(np.random.randn(1000, 2),
               columns =['B', 'C']).cumsum()
 
df3['A'] = pd.Series(list(range(len(df))))
df3.iloc[5].plot.bar()
plt.axhline(0, color ='k')
 
plt.show()

输出:

使用pandas和matplotlib 进行绘图

柱状图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df4 = pd.DataFrame({'a': np.random.randn(1000) + 1,
                    'b': np.random.randn(1000),
                    'c': np.random.randn(1000) - 1},
                           columns =['a', 'b', 'c'])
plt.figure()
 
df4.plot.hist(alpha = 0.5)
plt.show()

输出:

使用pandas和matplotlib 进行绘图

使用Series和matplotlib绘制框图

使用Box绘制dataframe的数据。

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10, 5),
      columns =['A', 'B', 'C', 'D', 'E'])
 
df.plot.box()
plt.show()

输出:

使用pandas和matplotlib 进行绘图

密度图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10, 5),
      columns =['A', 'B', 'C', 'D', 'E'])
 
ser = pd.Series(np.random.randn(1000))
ser.plot.kde()
 
plt.show()

输出:

使用pandas和matplotlib 进行绘图

使用matplotlib绘制区域图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10, 5),
       columns =['A', 'B', 'C', 'D', 'E'])
 
df.plot.area()
plt.show()

输出:

使用pandas和matplotlib 进行绘图

散点图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(500, 4),
           columns =['a', 'b', 'c', 'd'])
 
df.plot.scatter(x ='a', y ='b')
plt.show()

输出:

使用pandas和matplotlib 进行绘图

六角形宾格图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.randn(1000, 2), columns =['a', 'b'])
 
df['a'] = df['a'] + np.arrange(1000)
df.plot.hexbin(x ='a', y ='b', gridsize = 25)
plt.show()

输出:

使用pandas和matplotlib 进行绘图

饼状图

Python3

# importing libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
 
series = pd.Series(3 * np.random.rand(4),
  index =['a', 'b', 'c', 'd'], name ='series')
 
series.plot.pie(figsize =(4, 4))
plt.show()

输出:

使用pandas和matplotlib 进行绘图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程