学习内容
数据的可视化
TIPS
重点
1.一般画图plot
1)一幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.Series(np.random.randn(100), index=pd.date_range("2020-01-28", periods=100, freq="D"))
s.plot(title="distrbution", figsize=(8,6),style='r--')
#设置标题,设置大小,设置画图风格是红色虚线
plt.show()
2)多幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(400).reshape(100,4),
index=pd.date_range("2020-01-28", periods=100, freq="D"),
columns=list("ABCD"))
s.plot(title="distrbution",
figsize=(8,6),
subplots=True,#ABCD化成子图,不出现在一幅图上面
sharex=True,#共享x轴
sharey=True)#共享y轴
plt.show()
2.柱状图bar
1.一幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.Series(np.random.randn(10), index=pd.date_range("2020-01-28", periods=10, freq="D"))
s.plot.bar()#竖向画图
#s.plot.barh()#横向画图
plt.show()
2)多幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(40).reshape(10, 4),
index=pd.date_range("2020-01-28", periods=10, freq="D"),
columns=list("ABCD"))
s.plot.barh(title="distrbution",
stacked=True)#将四个图像累积起来画
plt.show()
3.直方图hist
1)一幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(40).reshape(10, 4),
index=pd.date_range("2020-01-28", periods=10, freq="D"),
columns=list("ABCD"))
s["A"].plot.hist(title="distrbution",
bins=20,#分割成20等份
alpha=0.3)#设置透明度
plt.show()
2)多幅图像
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(40).reshape(10, 4),
index=pd.date_range("2020-01-28", periods=10, freq="D"),
columns=list("ABCD"))
s.plot.hist(title="distrbution",
bins=20,
alpha=0.3,
stacked=True)#累计画图
plt.show()
4.概率密度图kde
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(40).reshape(10, 4),
index=pd.date_range("2020-01-28", periods=10, freq="D"),
columns=list("ABCD"))
s['A'].plot.kde(title="distrbution",
alpha=0.3, )
plt.show()
5.散步图scatter
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.DataFrame(np.random.randn(40).reshape(10, 4),
index=pd.date_range("2020-01-28", periods=10, freq="D"),
columns=list("ABCD"))
s.plot.scatter(title="distrbution",#散步图无法画序列
alpha=0.3,
x='A',#必须设置x轴
y='B',#必须设置y轴
)
plt.show()
6.饼图pie
饼图的要求比较多,数据不能有负数,不能直接画DataFrame
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s = pd.Series(np.random.randint(0, 10, 4),
index=pd.date_range("2020-01-28", periods=4, freq="D"))
s.plot.pie(title="distrbution",
labels=['aa', 'bb', 'cc', 'dd'],
autopct='%0.2f',
colors=['r', 'b', 'g', 'y']
)
plt.show()