Python数据信息可视性化(一) matplotlib,seaborn,pa

摘要: 所属部位: > Python > Python数据信息可视性化(一) matplotlib,seaborn,pandas绘图折线图和饼图 plt.rcParams['font.sans-serif']=['SimHei'] #一切正常显示信息汉语plt.rcParams['axes.unicode_minus'] = False #一切正...

所属部位: > Python > Python数据信息可视性化(一) matplotlib,seaborn,pandas绘图折线图和饼图
plt.rcParams['font.sans-serif']=['SimHei'] #一切正常显示信息汉语 plt.rcParams['axes.unicode_minus'] = False #一切正常显示信息负号 # 应用matplotlib控制模块绘图 # pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False) # x:特定制图的数据信息。 # explode:特定饼图一些一部分的突显显示信息,即展现发生爆炸式。 # labels:为饼图加上标识表明,相近于图示表明。 # colors:特定饼图的添充色。 # autopct:全自动加上百分数显示信息,能够选用文件格式化的方式显示信息。 # pctdistance:设定百分数标识与圆心的间距。 # shadow:是不是加上饼图的黑影实际效果。 # labeldistance:设定各扇形标识(图示)与圆心的间距。 # startangle:设定饼图的原始放置视角。 # radius:设定饼图的半径尺寸。 # counterclock:是不是让饼图按反方向次序展现。 # wedgeprops:设定饼图內外界限的特性,如界限线的大小、色调等。 # textprops:设定饼图上文字的特性,如字体样式尺寸、色调等。 # center:特定饼图的管理中心定位点置,默认设置为原点。 # frame:是不是要显示信息饼图身后的图框,假如设定为True得话,必须同时操纵图框x轴、y轴 的范畴和饼图的管理中心部位。 # 非常简单的事例 data1 = [0.2515,0.3724,0.3336,0.0368,0.0057] labels = ['中专','专科','大学本科','研究生','别的'] plt.pie(x=data1,labels=labels,autopct='%.1f%%') plt.show() # 提升版事例 data1 = [0.2515,0.3724,0.3336,0.0368,0.0057] labels = ['中专','专科','大学本科','研究生','别的'] explode = [0,0.1,0,0,0] # 突显专科群体 plt.axes(aspect='equal') # 将纵横座标规范化解决,促使饼图是正圆并不是椭圆 plt.pie( x=data1, explode=explode, labels=labels, autopct='%.1f%%', pctdistance=0.8, # 设定百分数数据信息与圆心的间距 labeldistance=1.1, # 设定标识和圆心间距 textprops = {'fontsize':10,"color":"black"} plt.title("失信黑名单客户的受文化教育水准遍布") plt.show()
# 应用pandas控制模块绘图 # Series.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, '中专','专科','大学本科','研究生','别的'] data2 = {l:d for d,l in zip(data1,labels)} print(data2) data2 = pd.Series(data2) data2.name = '' # 将编码序列名字改成空标识符,不然饼图左侧会出現None的字眼 plt.axes(aspect='equal') data2.plot( kind='pie', autopct="%.1f%%", title="失信黑名单客户的受文化教育水准遍布", explode=[0,0.1,0,0,0], textprops = {'fontsize':10,'color':"black"} plt.show() # 会发觉,应用pd绘图饼图和应用matplotlib绘图饼图的主要参数绝大多数一样,它是由于pandas的制图涵数內部实际上還是应用了matplotlib控制模块来绘图的 # 因此应用pandas制图时,搜索主要参数能够立即查matplotlib的主要参数 # seaborn沒有绘图饼图的涵数



饼图绘图結果


2. 绘图折线图

# coding=utf-8
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib as mpl
from datetime import datetime
plt.rcParams['font.sans-serif']=['SimHei'] #一切正常显示信息汉语
plt.rcParams['axes.unicode_minus'] = False #一切正常显示信息负号
# plt.plot(x, y, linestyle, linewidth, color, marker, markersize, markeredgecolor, markerfactcolor, markeredgewidth, label, alpha)
# x:特定折线图的x轴数据信息。y:特定折线图的y轴数据信息。 linestyle:特定折线的种类,能够是实线、虚线、点虚线、点点线等,默认设置为实线。 linewidth:特定折线的总宽。 marker:能够为折线图加上点,该主要参数是设定点的样子。 markersize:设定点的尺寸。 markeredgecolor:设定点的外框色。 markerfactcolor:设定点的添充色。 markeredgewidth:设定点的外框总宽。 label:为折线图加上标识,相近于图示的功效。
data1 = pd.read_csv("./wechat.csv")
print(data1.head())
plt.plot(data1.Date,data1['Counts'],linewidth=2,marker="o")
# plt.xlabel("时间") # 这儿因为xlabel的标识长短过长,因此不启用xlabel,他便会全自动提取一部分xlabel显示信息,而并不是显示信息全部的xlabel
plt.ylabel("总数")

plt.show() #折线图1
# 改善 将阅读文章总数与阅读人数同时显示信息在中途,而且针对x轴的刻度标识,是不是能够只保存月份和时间,而且以七天做为间距
# 最先要将时间从标识符串变为date文件格式,不然后边mpl.dates.DateFormatter("%m/%d")会出错的
dates = [datetime.strptime(d,"%Y/%m/%d").date() for d in data1.Date] #strptime() 涵数依据特定的文件格式把一个時间标识符串分析为時间元组。
plt.plot(dates,data1.Counts,line ,color="steelblue",label="阅读文章总数")
plt.plot(dates,data1.Times,line ,color="indianred",label="阅读文章人数")
ax=plt.gca() #获得图的座标信息内容
date_format = mpl.dates.DateFormatter("%m/%d")
ax.xaxis.set_major_formatter(date_format) #设定x轴的时间文件格式
# xlocator=mpl.ticker.LinearLocator(10) #设定x轴显示信息好多个時间刻度
xlocator = mpl.ticker.MultipleLocator(7) # 设定每一个刻度的间距天数
ax.xaxis.set_major_locator(xlocator)
plt.xticks(rotation=45)
plt.ylabel("总数")

plt.legend()
plt.show() #折线图2

data2=pd.read_csv("./weather.csv") data3 = data2.pivot_table(index="month",columns="year",values="high") print(data3) data3.plot(kind="line", '-',"--","-."]) plt.xlabel("月份") plt.ylabel("最大平均气温") plt.title("每个月均值平均气温发展趋势") plt.show() #折线图3


折线图1



折线图2



折线图3


张柏沛IT技术性blog > Python数据信息可视性化(一) matplotlib,seaborn,pandas绘图折线图和饼图

点一下拷贝转截该一篇文章



联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503