Python使用matplotlib实现图表绘制

数据可视化可以对之前的爬虫项目进行可视化的处理,但是自己做出来确很费劲,所以就根据自己的理解简单的绘制了几个图表,至于对爬虫项目的可视化处理,还得多花时间去研究,想着等研究透彻了再发表出来。

先来看看运行结果:
Python使用matplotlib实现图表绘制_第1张图片对于饼状图、柱形图和散点图的理解基本没有什么问题,但是对于折线图的理解还不是很好,还会去花时间去研究的。

以下是几张图表的实现代码:

# 引入相关模块
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 1.线图
# figure
figure = plt.figure()
subplot = figure.add_subplot(2, 2, 1)
subplot.plot(np.arange(0, 100), np.arange(1, 101))

# 2.柱状图
subplot2 = figure.add_subplot(2, 2, 2)
data = np.array(((13245, 1, 'Python'), (14896, 2, 'Java'), (12654, 3, 'C#'),(11320,4,'PHP')))

data = data.T

x_list = ['Python', 'Java', 'C#', 'PHP']


x = [i for i in np.array(x_list)]
y = data[0].astype(np.float)

bars = subplot2.bar(x, y, width=0.3)

subplot2.set_ylabel("薪资(/月)")
subplot2.set_xlabel("热门语言类型")

subplot2.set_xticks(x)
subplot2.set_xticklabels(x)
subplot2.grid(linestyle='--')

# 颜色设置
i = 0
for bar in bars:
    bar.set_color('#' + str(111111+i))
    i += 1000
    pass
for x, y in zip(x, y):
    subplot2.text(x, y + 0.05, '{0}$/month'.format(np.float(y)), ha='center', va='bottom')
    pass


# 3.饼图
subplot3 = figure.add_subplot(2, 2, 3)
data = np.arange(1, 6)/np.sum(np.arange(1, 6))
print(data)
pg_langs = {'Java':(45,'#7B68EE'),'Python':(40,'#EEC900'),'C#':(10,'#8E388E'),'PHP':(5,'#00CD66')}
# 获取每个部分的语言名称key
pgs = pg_langs.keys()
# 使用推导式获取每个部分的占比数据
parts = [x[0] for x in pg_langs.values()]
# 使用推导式获取每个部分的颜色
colors = [x[1] for x in pg_langs.values()]
# 使用pie()方法创建饼状图
plt.pie(parts,colors=colors)
# 使用推导式获取每个部分的文字数据描述信息
labels = ['{}\n{}%'.format(pgs,parts) for pgs,parts in zip(pgs, parts)]
# 修改pie()方法添加labels参数
plt.pie(parts, colors=colors,labels=labels)


# 4.点图
subplot4 = figure.add_subplot(2, 2, 4)
x = np.random.randint(1, 100, 100)
y = np.random.randint(1, 100, 100)

subplot4.scatter(x, y, s=30, c=x, alpha=0.8, marker='*')


plt.show()

你可能感兴趣的:(数据可视化处理)