绘图方法允许除了默认的线图之外的一些绘图样式,这些方法可以通过plot()的关键字参数kind提供。这些包括:
bar 、barh:绘制条形图
hist:绘制直方图
box:绘制箱型图
kde、density:绘制密度图
area:面积图
scatter:绘制散点图
hexbin:棱形图
pie:绘制饼图
1.打开PyCharm,选择Create New Project,
创建名为pandas_visualization的项目。
2.打开pandas_visualization项目,右键选择New=>Python File,
创建名为test_plot的Python文件。
3.打开test_plot.py文件,编写代码,使用Series的plot绘制Series中数据的分布图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) #创建一个Series
ts = ts.cumsum() #对Series数据进行累加求和
ts.plot() #使用plot方法绘制Series中数据分布图
plt.show()
4.代码编写完毕,在test_plot.py文件内,点击右键=》Run ‘test_plot’,执行test_plot.py文件。
5.在屏幕上打印出下面的图。
6.创建一个DataFrame名为df,使用df的plot绘制df中数据的分布图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) #创建一个Series
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) #创建一个DataFrame
df = df.cumsum() #对df数据进行累加求和
df.plot()
plt.show()
7.运行代码,在屏幕上打印出下面的图。
8.创建一个DataFrame名为df,使用df的plot方法绘制df第6行数据的条形图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) #创建一个Series
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) #创建一个DataFrame
df = df.cumsum() #对df数据进行累加求和
df.iloc[5].plot(kind='bar')
plt.axhline(0, color='k')
plt.show()
9.运行代码,在屏幕上打印出下面的图。
10.创建一个DataFrame名为df2,使用df2的plot.bar()方法绘制df2数据的条形图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot.bar()
plt.show()
11.运行代码,在屏幕上打印出下面的图。
12.使用plot.bar方法对上述df2数据绘制一个堆叠的条形图,通过设置参数stacked=True,代码如下(将代码覆盖写入到test_plot.py文件中)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot.bar(stacked=True)
plt.show()
13.运行代码,在屏幕上打印出下面的图。
14.使用plot.barh方法对上述df2数据,通过设置参数stacked=True,绘制一个水平堆叠条形图,代码如下(将代码覆盖写入到test_plot.py文件中)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot.barh(stacked=True)
plt.show()
15.运行代码,在屏幕上打印出下面的图。
16.创建一个DataFrame名为df3,使用df3的plot.hist()方法绘制df3数据的直方图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df3 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df3.plot.hist(alpha=0.5)
plt.show()
17.运行代码,在屏幕上打印出下面的图。
18.使用plot.hist()方法对上述df3数据,通过设置堆叠参数stacked=True,设置条数大小参数bins=20,绘制一个堆叠直方图,代码如下(将代码覆盖写入到test_plot.py文件中)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df3 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df3.plot.hist(stacked=True, bins=20)
plt.show()
19.运行代码,在屏幕上打印出下面的图。
20.创建一个DataFrame名为df4,使用df4的plot.box()方法绘制df3数据的箱型图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df4 = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df4.plot.box()
plt.show()
21.运行代码,在屏幕上打印出下面的图。
22.创建一个DataFrame名为df5,使用df5的plot.scatter()方法绘制df5数据的散点图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df5 = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df5.plot.scatter(x='a', y='b');
plt.show()
23.运行代码,在屏幕上打印出下面的图。
24.创建一个DataFrame名为df6,使用df6的plot.pie()方法绘制df6数据的饼图,代码如下(将代码覆盖写入到test_plot.py文件中)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df6 = pd.DataFrame(3 * np.random.rand(4, 2), index=['a', 'b', 'c', 'd'], columns=['x', 'y'])
df6.plot.pie(subplots=True, figsize=(8, 4))
plt.show()
25.运行代码,在屏幕上打印出下面的图。