您的位置:首页 > 编程语言 > Python开发

2.Python数据分析与应用——Matplotlib数据可视化基础

2020-02-02 14:29 1976 查看

pyplot基本绘图语法

import numpy as np
import matplotlib.pyplot as plt
data=np.arange(0,1.1,0.01)
plt.title('标题')#添加标题
plt.xlabel('x轴')#添加x轴的名称
plt.ylabel('y轴')#添加y轴的名称
plt.xlim((0,1))#x轴范围
plt.ylim((0,1))#y轴范围
plt.xticks([0,0.2,0.4,0.6,0.8,1])#x轴刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1])#y轴刻度
plt.plot(data,data**2)#y=x^2曲线
plt.plot(data,data**3)#y=x^3曲线
plt.legend(['y=x^2','y=x^3'])#显示图例
#plt.savefig('d:/y=x^2.png')#另存为图片
plt.show()

pyplot的动态rc参数

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示符号

#lines.linewidth线条宽度(0~10)
plt.rcParams['lines.linewidth']=3
#lines.linestyle线条样式(“-”“--”“-.”“:”)
plt.rcParams['lines.linestyle']='-.'
data=np.arange(0,1.1,0.01)
plt.plot(data,data**2)
plt.title('y=x^2曲线')
plt.show()

绘制散点图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示符号

x=[1,2,3,4,5,6,7,8,9,10]
y=[30,35,31,32,32,38,33,34,38,31]
plt.scatter(x,y,marker='o')#绘制散点图
plt.title('散点图')

plt.show()

绘制折线图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示符号

x=[1,2,3,4,5,6,7,8,9,10]
y=[30,35,31,32,32,38,33,34,38,31]
plt.plot(x,y,marker='o')#绘制折线图
plt.title('折线图')

plt.show()

绘制点线图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示符号

x=[1,2,3,4,5,6,7,8,9,10]
y=[30,35,31,32,32,38,33,34,38,31]
plt.plot(x,y,color='r',linestyle='--',marker='o')#绘制点线图
plt.title('点线图')

plt.show()

绘制饼图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示符号

plt.figure(figsize=(6,6))#确定画布大小
label=['第一产业','第二产业','第三产业']#定义饼图标签
explode=[0.01,0.01,0.01]#设定各项距离圆心n个半径
x=[30,50,20]
plt.pie(x,explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
plt.title('饼图')

plt.show()

绘制直方图

'''
图一:重叠的直方图
图二:叠加的直方图
图三:并列的直方图
'''
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
p=plt.figure(figsize=(12,12))#确定画布大小
plt.rcParams['font.sans-serif']=['SimHei']#设置字体为SimHei显示中文

y1_data=[100,200,234,333,489,289]
y2_data=[120,299,233,200,194,156]

#创建一个3行1列的子图,并开始绘制第1幅
ax1=p.add_subplot(3,1,1)
#绘制直方图(alpha透明度)
plt.bar(x=(range(len(y1_data))),height=y1_data,width=0.5,color='purple',alpha=0.6)
plt.bar(x=(range(len(y1_data))),height=y2_data,width=0.5,color='blue',alpha=0.6)
#规定x轴刻度(rotation倾斜度)
plt.xticks([0,1,2,3,4,5],['2000年','2001年','2002年','2003年','2004年','2005年'],rotation=45)

#创建一个3行1列的子图,并开始绘制第2幅
ax2=p.add_subplot(3,1,2)
#绘制直方图(alpha透明度,bottom从底部增加)
plt.bar(x=(range(len(y1_data))),height=y1_data,width=0.5,color='purple',alpha=0.6)
plt.bar(x=(range(len(y1_data))),height=y2_data,bottom=y1_data,width=0.5,color='blue',alpha=0.6)
#规定x轴刻度
plt.xticks([0,1,2,3,4,5],['2000年','2001年','2002年','2003年','2004年','2005年'])

#创建一个3行1列的子图,并开始绘制第3幅
ax3=p.add_subplot(3,1,3)
#x的宽度
xwidth=0.25
#绘制直方图(alpha透明度)
plt.bar(x=(range(len(y1_data))),width=xwidth,height=y1_data,color='purple',alpha=0.6)
plt.bar(x=np.array((range(len(y1_data))))+xwidth,width=xwidth,height=y2_data,color='blue',alpha=0.6)
#规定x轴刻度
plt.xticks([0,1,2,3,4,5],['2000年','2001年','2002年','2003年','2004年','2005年'])

plt.show()

  • 点赞
  • 收藏
  • 分享
  • 文章举报
可一z可再 发布了18 篇原创文章 · 获赞 1 · 访问量 243 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: