1

17633788835

V1

2022/11/18阅读:67主题:全栈蓝

python数据可视化

Python 数据可视化——基于 Matplotlib 模块

数据可视乎是一种将庞杂抽象的数据转化为直观易懂的图形的数据呈现技术,它能帮助我们快速把握数据的分布和规律,更加轻松地理解和探索信息;接下来我们将利用 Matplotlib 模块绘制一系列的图表。

柱状图

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
data= pd.read_excel('D:/shujufenxi/jjj.xlsx')
x=data['序号']
y=data['月薪(元)']
plt.bar(x,y,width=0.8,color='c')
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

在python中绘图,如果表(x,y)的值中有中文,必须在绘制前加上如下代码:

# 微信公众号:作物表型记录本
plt.rcParams['font.sans-serif']=['SimHei']# ['SimHei']参数设置字体颜色
plt.rcParams['axes.unicode_minus']=False

条形图

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
data= pd.read_excel('D:/shujufenxi/jjj.xlsx')
x=data['序号']
y=data['月薪(元)']
plt.barh(x,y,height=0.8,color='c')
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

折线图

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False
data= pd.read_excel('D:/shujufenxi/jjj.xlsx',sheet_name=1)
x=data['月份']
y=data['金额']
plt.plot(x,y,linewidth=0.8,color='g',linestyle='-.')
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

略加修饰:

# 微信公众号:作物表型记录本
plt.plot(x,y,linewidth=0.8,color='g',linestyle='-.',marker='*',markersize=6)
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

面积图

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False
data= pd.read_excel('D:/shujufenxi/jjj.xlsx',sheet_name=1)
x=data['月份']
y=data['金额']
plt.stackplot(x,y,color='c')
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

散点图:

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
data= pd.read_excel('D:/shujufenxi/jjj.xlsx')
x=data['序号']
y=data['月薪(元)']
plt.scatter(x,y,s=100,marker='o',color='c',edgecolor='k')# s参数设置每个点的面积,marker设置点的样式,edgecolor设置轮廓颜色
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

添加线性趋势性:

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model
data= pd.read_excel('D:/shujufenxi/jjj.xlsx')
x=data['序号']
y=data['月薪(元)']
plt.scatter(x,y,s=100,marker='o',color='c',edgecolor='k')# s参数设置每个点的面积,marker设置点的样式,edgecolor设置轮廓颜色
model=linear_model.LinearRegression().fit(x.values.reshape(-1,1),y)
pred=model.predict(x.values.reshape(-1,1))
plt.plot(x,pred,color='k',linewidth='3',linestyle='solid')
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

饼图和圆环图

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False
from sklearn import linear_model
data= pd.read_excel('D:/shujufenxi/jjj.xlsx',sheet_name=1)
x=data['月份']
y=data['金额']
plt.pie(y,labels=x,labeldistance=1.1,autopct='%.2f%%',pctdistance=1.4) #labeldistan参数设置每个饼图快的标签与中心的距离,autopct参数用于设置百分比数值的格式,pctdistance设置百分比数值距中心的距离
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

还可以将指定饼图快拎出来:

# 微信公众号:作物表型记录本
plt.pie(y,labels=x,labeldistance=1.1,autopct='%.2f%%',pctdistance=1.4,explode=[0,0,0,0.3,0,0,0,0,0,0,0,0],startangle=90,
        counterclock=True) #labeldistan参数设置每个饼图快的标签与中心的距离,autopct参数用于设置百分比数值的格式,pctdistance设置百分比数值距中心的距离,counterclock用来设置饼图是逆时针还是顺时针排列。
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

圆环图

# 微信公众号:作物表型记录本
plt.pie(y,labels=x,labeldistance=1.1,autopct='%.2f%%',pctdistance=1.4,wedgeprops={'width':0.3,'linewidth':2,'edgecolor':'white'}) #labeldistan参数设置每个饼图快的标签与中心的距离,autopct参数用于设置百分比数值的格式,pctdistance设置百分比数值距中心的距离,counterclock用来设置饼图是逆时针还是顺时针排列。
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

在一张画布中绘制多个图标

# 微信公众号:作物表型记录本
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False
from sklearn import linear_model
data= pd.read_excel('D:/shujufenxi/jjj.xlsx',sheet_name=1)
x=data['月份']
y=data['金额']
plt.subplot(2,2,1)
plt.pie(y,labels=x,labeldistance=1.1,pctdistance=1.4,wedgeprops={'width':0.3,'linewidth':2,'edgecolor':'white'}) #labeldistan参数设置每个饼图快的标签与中心的距离,autopct参数用于设置百分比数值的格式,pctdistance设置百分比数值距中心的距离,counterclock用来设置饼图是逆时针还是顺时针排列。
plt.subplot(2,2,2)
plt.pie(y,labels=x,labeldistance=1.1,pctdistance=1.4)
plt.subplot(2,2,3)
plt.barh(x,y,height=0.8,color='c')
plt.subplot(2,2,4)
plt.plot(x,y,linewidth=0.8,color='g',linestyle='-.',marker='*',markersize=6)
plt.show()
微信公众号:作物表型记录本
微信公众号:作物表型记录本

分类:

后端

标签:

后端

作者介绍

1
17633788835
V1