Python做折线图

from lxml.html import parse
from urllib.request import urlopen
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
import csv
import re
t_data = pd.read_csv('D:\\kaola\\deal_with_data\\t_data.csv',encoding='GB18030')
# 分组
gp = t_data.groupby(by=['address'])
# 将得到的结果转化为DataFrame格式
data = gp.size()
data = data.reset_index(name='items')
# 按items升序排序
data = data.sort('items')
#重新设置索引
data = data.reset_index(drop=True)
# 定义两个列表
list_add_num = []
list_add_name = []
# 将产地名称加入list_add_name列表中
for i in data['address']:
    print(i)
    list_add_name.append(i)
# 将总数加入list_add_num列表中
for i in data['items']:
    print(i)
    list_add_num.append(i)

import matplotlib

#指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif'
# 设置画布大小
fig = plt.figure(figsize = (20,20))

font1 = {'family' : 'sans-serif',
'weight' : 'normal',
'size'   : 16,
}

#fig.suptitle('产地在各个国家所在的数量', fontsize = 24, fontweight = 'bold')
# 绘制图形
plt.bar(range(len(list_add_num)),list_add_num,align = 'center',color='red',alpha = 0.8)
# 标题
plt.title('产地在各个国家所在的数量')
# x轴设置
plt.xticks(np.arange(18),list_add_name)
#plt.xticks(x,list_add_name)
# y轴设置
#plt.ylim([0,500])
#plt.xlim([0,60])
# 设置条形图所代表的数量
for x,y in enumerate(list_add_num):
    plt.text(x,y+20,'%s'%round(y,1),ha='center')
# 折线图
plt.plot(range(len(list_add_name)),list_add_num,marker = 'o',color='coral')
# x,y轴的说明
plt.xlabel('国家',font1)
plt.ylabel('数量',font1)
plt.show()

你可能感兴趣的:(python)