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