ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matplotlib绘制图表

2022-03-21 12:34:23  阅读:216  来源: 互联网

标签:plot plt show matplotlib 图表 np import 100 绘制


具体知识点全在代码注释中

绘制柱状图  饼状图 直方图  等高线  三维图

import matplotlib.pyplot as plt
plt.plot
plt.plot([1,4],[2,8]) #绘制一条线是 先先横坐标 再写纵坐标
plt.show()
'''
使用matplotlib绘制图形时,其中最为常用的场景。一个是画点,一个是画线,pylot的使用方法如下
title      设置图标名称
xlable      设置x轴名称
ylable     设置y轴名称

'''
#绘制折线
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y)
plt.show()


#修改线条宽度 设置文字 设置xy轴的名称
#调用plot方法绘制线条
x=[2,3,4,5,6]
y=[4,9,16,25,36]
plt.plot(x,y,linewidth=5)
plt.xlabel("x")
plt.ylabel("y=x^2")
#用来正常显示中文标签
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.title("折线图")
plt.show()

#绘制曲线,其内涵就是通过很多直线近似成曲线
#绘制曲线,其内涵就是通过很多直线近似成曲线
import matplotlib.pyplot as plt
import numpy as np
x=range(-100,100)
y=[i**2 for i in x]
plt.plot(x,y)#保存图片
plt.savefig("01.jpg")  #默认是png
plt.show()

#绘制正弦余弦曲线
#生成0,10之间的一百个等差数
x=np.linspace(0,10,100)
sin_y=np.sin(x)
plt.plot(x,sin_y)
cos_y=np.cos(x)
plt.plot(x,cos_y)
plt.show()
import matplotlib.pyplot as plt
import  numpy as np
x=np.linspace(0,10,100)
sin_y=np.sin(x)
plt.subplot(2,2,1) #将画布进行区域划分 将画布分为两行两列                  #修改x轴y轴的做表
plt.xlim(-5,20)
plt.ylim(-5,20)
plt.plot(x,sin_y)  #修改x轴y后做表
plt.subplot(2,2,3)
cos_y=np.cos(x)
plt.plot(x,cos_y)
plt.show()

#使用scatter函数绘制随机点,该函数需要接受x坐标,y坐标的序列
import  matplotlib.pyplot as plt
import  numpy as np
x =np.linspace(0,10,100)
plt.subplot(2,2,1)
sin_y=np.sin(x)   #绘制散点图
plt.scatter(x,sin_y)
plt.subplot(2,2,2)
plt.plot(x,sin_y,'o')
plt.show()
np.random.seed(0)  #每次获得的随机数相等
x =np.random.rand(100)  #0.0-1.0之间的点
y=np.random.rand(100)
size=np.random.rand(100)*1000
color=np.random.rand(100)
plt.scatter(x,y,s=size,c=color,alpha=0.7)
plt.show()

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
#使用legend()图例,给plot方法添加lable
plt.plot(x,x,'--g',label='--g')
plt.plot(x,x+1,'-.r',label='-,r')
plt.plot(x,x+2,':b',label=':b')
plt.plot(x,x+3,'.k',label='.k')
plt.plot(x,x+4,',c',label=',c') # 边框        透明度       阴影      边框宽度
plt.legend(loc='lower right',fancybox=True,framealpha=1,shadow=True,borderpad=1)  #默认在左上角   可以用loc进行修改
plt.show()

import matplotlib.pyplot as plt
x=[1998,1999,2000,2001]
y=[1000,2000,3000,4000]
plt.bar(x,y,width=0.6)
#修改x坐标的值
x_label=['1998年','1999年','2000年','2001年']
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.xticks(x,x_label)
plt.xlabel('年份')
plt.ylabel('销量')
#添加标题title
plt.title("根据年份销量对比图")
plt.show()
import matplotlib.pyplot as plt
import numpy as np

x=np.arange(5)
np.random.seed(0)
print(x)
y=np.random.randint(-5,5,5)
print(y)
#将画布分为两个区域
plt.subplot(1,2,1)
#在0位置添加蓝色的线条
bar_color=plt.bar(x,y,color='blue')
plt.axhline(0,color='green')
for bar,height in zip(bar_color,y):
    if height<0:
        bar.set(color="red")
plt.subplot(1,2,2)
plt.barh(x,y,color='red') #barh 是xy轴调换
plt.axvline(0,color='green')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#饼状图是通过函数pie进行绘制
man=71351
woman=68187
man_perc=man/(man+woman)
woman_perc=woman/(man+woman)
labels=['男','女']
plt.rcParams["font.sans-serif"]=["SimHei"]
#labels  名称     colors  颜色      explode 分裂    autopct  百分号
paches,texts,autotexts=plt.pie([man_perc,woman_perc],labels=labels,autopct="%0.1f%%")
plt.show()

#绘制直方图
#示例,使用random函数生成1000个正态分布的随机数,使用hist函数绘制这100个随机数的分布状态
import matplotlib.pyplot as plt
import numpy as np
#生成一千个正态分布随机数  normal指定期望和均值的  randn
x=np.random.randn(1000)
plt.hist(x)
plt.show()
x=np.random.normal(0,0.8,1000)
y=np.random.normal(2,0.8,1000)
z=np.random.normal(-1,0.8,1000)
kwargs=dict(bins=10)  #alpha 是透明度
plt.hist(x,**kwargs,alpha=0.5)
plt.hist(y,**kwargs,alpha=0.5)
plt.hist(z,**kwargs,alpha=0.5)
plt.show()

#绘制等高线图和三维图
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100)
#计算x y相交的点XY
X,Y=np.meshgrid(x,y)
#计算Z
Z=np.sqrt(X**2,Y**2)
#绘制等高线图
plt.contour(X,Y,Z)
plt.show()
#绘制等高线图和三维图
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100)
#计算x y相交的点XY
X,Y=np.meshgrid(x,y)
#计算Z
Z=np.sqrt(X**2,Y**2)
#绘制等高线图
plt.contour(X,Y,Z)
plt.show()

标签:plot,plt,show,matplotlib,图表,np,import,100,绘制
来源: https://blog.csdn.net/qq_62218542/article/details/123632243

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有