数据描述
数据处理过程
饼状图:引入matplotlib库之后,设置中文显示,定义画布的大小。最后定义饼状图的标签以及设定各项离心n个半径,将数据放到一个列表之中,然后直接绘制饼图,并且设置哥哥扇形的颜色,使得图形看起来更加直观,最后定义饼状图标题,展示图形并保存。
直方图:引入库后设置中文显示,打开csv文件,提取csv的第一列,即编程语言的种类,随后提取平均工资坐在列,设置刻度标签并设置画布大小,添加横轴标签以及y轴标签,再添加图表标题,绘制直方图并展示。
箱线图:引入库并设置中文显示,定义五个编程语言的标签,输入五种编程语言的最低工资,工资中值以及最高工资,设置画布大小,然后设置参数绘制箱线图,设置箱线图标题并展示。
可视化展示
饼状图
import matplotlib.pyplot as plt
# 设置中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 将画布设定为正方形,则绘制的饼图是正圆
plt.figure(figsize=(6, 6))
# 定义饼状图的标签,标签是列表
lab = ['java', 'C++', 'C#', 'javascript', 'python', 'go', 'php', 'matlab', 'lua', 'r']
# 设定各项离心n个半径
explode = [0.01, 0.01, 0.01, 0, 0, 0, 0, 0, 0, 0]
# 数据
shuju = [89793, 83970, 35896, 31234, 25229, 21853, 11165, 5083, 2182, 2101]
# 绘制饼图
plt.pie(x=shuju,
explode=explode,
labels=lab,
colors=['red', 'yellow', 'blue', 'red', 'yellow', 'blue', 'red', 'yellow', 'blue', 'yellow'],
autopct='%1.1f%%',
shadow=True)
plt.title('2020年四月中国编程语言排行榜')
plt.show()
plt.savefig()
直方图
import numpy as np
import matplotlib.pyplot as plt
# 设置中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
data = np.loadtxt(r"E:\排行.csv", str, delimiter=",")
# 提取第一列,即编程语言的种类
language = data[1:, 0]
# 提取平均工资所在列
value = data[1:, 1].astype(float)
# 刻度标签
lab = ['java', 'C++', 'C#', 'javascript', 'python', 'go', 'php', 'matlab', 'lua', 'r']
# 设置画布
plt.figure(figsize=(10, 6))
# 绘制直方图
plt.bar(language[range(0, 10)], value, width=0.5)
# 添加横轴标签
plt.xlabel('language')
# 添加y轴标签
plt.ylabel('平均工资(元)')
plt.xticks(range(0, 10), language[range(0, 10)])
# 添加图表标题
plt.title('2020年四月中国编程语言排行榜直方图')
plt.show()
箱线图
import matplotlib.pyplot as plt
# 设置中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 定义标签
x1 = [5250, 12500, 35000]
x2 = [4525, 11500, 30000]
x3 = [5450, 16000, 45000]
x4 = [6500, 17500, 37500]
x5 = [5833, 17500, 45000]
plt.figure(figsize=(10, 8))
plt.boxplot((x1, x2, x3, x4, x5), labels=('java', 'C', 'python', 'matlab', 'r'),
notch=None, # 是否以凹口的形式展现箱线图,默认非凹口
meanline=True, # bool类型参数,是否用线的形式表示均值,默认为False
patch_artist=True, # 是否填充箱体的颜色
showmeans=True, # 要求用自定义颜色填充盒形图,默认白色填充
boxprops={'color': 'black', 'facecolor': 'blue'}) # 设置箱体属性,如边框色和填充色
plt.title('2020年四月月工资箱线图')
plt.show()