excel与python对比数据分析画图相关

(1)python画折线图

【案例9-12】绘制中国银行2015年至2019年营业收入折线图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
plt.plot(df.columns[1:6], df.iloc[0,1:6],
color = "r", linestyle = "solid", marker = "o")
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.xticks(df.columns[1:6], xtitle)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行营业收入折线图", fontsize = "14")
数据源


image.png

画图


image.png

(2)python画散点图

【案例9-13】绘制中国银行2015年至2019年营业收入散点图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
plt.scatter(df.columns[1:6], df.iloc[0,1:6],
c = "r", s = 100, marker = "o")
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.xticks(df.columns[1:6], xtitle)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行营业收入散点图", fontsize = "14")
数据源


image.png

画图


image.png

(3)python画柱状图

【案例9-14】绘制中国银行2015年至2019年营业收入柱状图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
plt.bar(df.columns[1:6], df.iloc[0,1:6], color = "b", width = 0.6)
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.xticks(df.columns[1:6], xtitle)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行营业收入柱状图", fontsize = "14")
数据源


image.png

画图


image.png

(4)python画双柱状图

【案例9-15】绘制中国银行和建设银行2015年至2019年营业收入双柱状图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(5,3))
import numpy as np

设置X轴刻度值

xtitle = [2015, 2016, 2017, 2018, 2019]
xdata = np.arange(5)+1
plt.bar(xdata, df.iloc[0,1:6],
color = "b", width = 0.3, label = "中国银行")
plt.bar(xdata + 0.3, df.iloc[1,1:6],
color = "r", width = 0.3, label = "建设银行")
plt.xticks(xdata + 0.15, xtitle)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行和建设银行营业收入柱状图", fontsize = "14")
plt.legend(loc = "upper left")
数据源


image.png

画图


image.png

(5)python画直方图

【案例9-16】绘制学生成绩直方图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/StudentScore.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
plt.hist(df["成绩"],10)
plt.xlabel("成绩", fontsize = "12")
plt.ylabel("人数", fontsize = "12")
plt.title(label = "学生成绩直方图", fontsize = "14")
数据源


image.png

画图


image.png

(6)python画条形图

【案例9-17】绘制中国银行2015年至2019年营业收入条形图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据//Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
plt.barh(df.columns[1:6], df.iloc[0,1:6], color = "b", height = 0.6)
ytitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.yticks(df.columns[1:6], xtitle)
plt.ylabel("年份", fontsize = "12")
plt.xlabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行营业收入条形图", fontsize = "14")
数据源


image.png

画图


image.png

(7)python画饼图

【案例9-18】绘制中国银行2015年至2019年营业收入饼图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.pie(df.iloc[0,1:6], explode = [0,0,0,0,0.1], labels = xtitle,
autopct = "%.2f%%", radius = 1.5, shadow = True)
数据源


image.png

画图


image.png

(8)python画气泡图

【案例9-19】绘制中国银行2015年至2019年营业收入气泡图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,3))
import numpy as np
plt.scatter(df.columns[1:6], df.iloc[0,1:6],
c = "r", s = np.array(df.iloc[0,1:6].tolist())/5, marker = "o")
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.xticks(df.columns[1:6], xtitle)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("营业收入(亿元)", fontsize = "12")
plt.title(label = "中国银行营业收入气泡图", fontsize = "14")
数据源


image.png

画图


image.png

(9)python画雷达图

【案例9-20】绘制某公司营业收入明细雷达图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/RevenueDetail.xlsx")
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,4))

雷达图中每个点的说明文字

labels = df["营业收入分项"]

雷达图共分成6个点

dataLenth = 6

雷达图中每个点的数据

data = df["金额"]

设置雷达图中每个点的角度

angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False) # 分割圆周长
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
plt.polar(angles, data, marker = "o")
plt.xticks(angles, labels)
plt.tick_params('y', labelleft=False)
plt.title(label = "营业收入明细雷达图", fontsize = "14")
数据源


image.png

画图


image.png

(10)python画热力图

【案例9-21】绘制中国银行、建设银行、农业银行、工商银行、交通银行2015年至2019年营业收入热力图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(4,4))
plt.imshow(np.array(df.iloc[0:5,1:6]), cmap = plt.cm.hsv)
plt.xticks([0,1,2,3,4], ["2015年", "2016年", "2017年", "2018年", "2019年"])
plt.yticks([0,1,2,3,4], df.iloc[:,0])
plt.title(label = "营业收入热力图", fontsize = "14")
数据源


image.png

画图


image.png

(11)python画组合图

【案例9-22】绘制中国银行、建设银行、农业银行、工商银行2015年至2019年营业收入组合图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(5,3))
plt.plot(df.columns[1:6], df.iloc[0,1:6], color = "r",
linestyle = "solid", marker = "o", label = "中国银行")
plt.plot(df.columns[1:6], df.iloc[1,1:6], color = "b",
linestyle = "dashed", marker = "s", label = "建设银行")
plt.plot(df.columns[1:6], df.iloc[2,1:6], color = "g",
linestyle = "dashdot", marker = "*", label = "农业银行")
plt.plot(df.columns[1:6], df.iloc[3,1:6], color = "c",
linestyle = "dotted", marker = "h", label = "工商银行")
xtitle = ["2015年", "2016年", "2017年", "2018年", "2019年"]
plt.xticks(df.columns[1:6], xtitle)
plt.title(label = "营业收入组合图", fontsize = "14")
plt.legend()
数据源


image.png

画图


image.png

(12)python/seaborn画收入柱状图

【案例9-23】绘制中国银行2015年至2019年营业seaborn收入柱状图

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/Revenue.xlsx")
import seaborn as sns

定义主题风格,解决seaborn中文显示问题

sns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']})

显示柱状图

ax = sns.barplot(x = df.columns[1:6], y = df.iloc[0,1:6])

设置X轴标题,Y轴标题,图表标题

ax.set(xlabel="年份", ylabel="营业收入(亿元)", title = "中国银行营业收入柱状图")

fig = ax.get_figure()

fig.savefig("D:/DataAnalysis/Chapter09Data/01.jpg")

数据源


image.png

画图


image.png

(13)python/seaborn画收入柱状图

【案例9-24】2010年至2019年GDP数据可视化

import pandas as pd
df = pd.read_excel("D:/曾海峰/数据荒岛求生/第9章代码及数据/GDP.xlsx")
print(df)
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(7,3))

GDP柱状图

提取列名作为X轴的显示标签

xlabels = df.columns[1:11]

提取国内生产总值数据作为图表数据

values = df.iloc[1,1:11]
plt.bar(xlabels, values)
plt.xlabel("年份", fontsize = "12")
plt.ylabel("国内生产总值(亿元)", fontsize = "12")
plt.title(label = "2010年至2019年GDP变化", fontsize = "14")

plt.savefig("D:/DataAnalysis/Chapter09Data/11.jpg")

数据源


image.png

画图


image.png

(14)python画折线多根图

第一产业、第二产业、第三产业增加值组合图

提取列名作为X轴的显示标签

xlabels = df.columns[1:11]

提取第一产业数据

fvalues = df.iloc[2,1:11]

提取第二产业数据

svalues = df.iloc[3,1:11]

提取第三产业数据

tvalues = df.iloc[4,1:11]
plt.plot(xlabels, fvalues, color = "r",
linestyle = "solid", marker = "o", label = "第一产业")
plt.plot(xlabels, svalues, color = "b",
linestyle = "dashed", marker = "s", label = "第二产业")
plt.plot(xlabels, tvalues, color = "g",
linestyle = "dashdot", marker = "h", label = "第三产业")
plt.title(label = "第一产业、第二产业、第三产业增加值组合图", fontsize = "14")
plt.legend(loc = "upper left")

plt.savefig("D:/DataAnalysis/Chapter09Data/22.jpg")

数据源


image.png

画图


image.png

(15)python画饼图(并列2个以上)

2019年第一产业、第二产业、第三产业增加值饼图

提取2010年数据

data1 = df.iloc[2:5,1]

提取2019年数据

data2 = df.iloc[2:5,10]

当前画布被分成1行2列,并开始绘制第一个饼图

ax1 = plt.subplot(1, 2, 1)
plt.pie(data1, labels = ["第一产业","第二产业","第三产业"],
autopct = "%.2f%%", explode = [0.01,0.01,0.01])
plt.title(label = "2010年", fontsize = "14")

开始绘制第二个饼图

ax2 = plt.subplot(1, 2, 2)
plt.pie(data2, labels = ["第一产业","第二产业","第三产业"],
autopct = "%.2f%%", explode = [0.01,0.01,0.01])
plt.title(label = "2019年", fontsize = "14")

plt.savefig("D:/DataAnalysis/Chapter09Data/33.jpg")

数据源


image.png

画图


image.png

你可能感兴趣的:(excel与python对比数据分析画图相关)