YS_20190802_Python

Numpy中 Matplotlib(图表) 相关内容

1.相关方法:

方法说明
title()设置图表的名称
xlabel()设置x轴的名称
ylabel()设置y轴的名称
xticks (x,ticks,rotation )设置x轴的刻度,rotation旋转角度
yticks()设置y轴的刻度
plot ()绘制线性图表
show ()显示图表
legend ()显示图例
text (x,y,text)显示每条数据的值,x,y的值的位置
figure (name,figsize=(w,h) dpi = n)设置图片大小

2.绘制直线

import numpy as np
import matplotlib .pyplot as plt
#plot 是一个内置的函数
plt.plot([1,2,3],[1,4,3])
plt.show()

3.绘制函数图表

#二次函数
import numpy as np
import matplotlib.pyplot as plt
datas=[1,2,3,4,5,6]
squares=[1,4,9,16,2536]
plt.plot(datas,squares,linewidth=2) #设置线条宽度

plt.title('Numbers',fontsize=24)#设置图标标题,并在坐标轴上添加标签
plt.xlabel('datas',fontsize=14)# x轴为datas 
plt.ylabel('squares',fontsize=14) # y轴为squares
plt.show()
#三角函数
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-3.14,3.14,0.157)#(-3,3)是一个周期
y = np.sin(x)
plt.plot(x,y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
#在一个图表中输出两个函数图像
# plt.plot( [1,2,3],[5,7,5])
x = np.arange(-3.14,3.14,0.157)#(-3,3)是一个周期
y = np.sin(x)
plt.plot(x,y)
# plt.show()
x2 = np.arange(-3.14,3.14,0.157)
y2 = np.cos(x2)
# plt.figure()
plt.plot(x2,y2)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
a = [1,2,3]
b = [2,3,4]
a1 = [2,4,5]
b1 = [5,6,29]
#
plt.subplot(334)#位置: 3  *  3   第四个位置
plt.plot(a,b,'b:') #蓝色  虚线
plt.subplot(336)
plt.plot(a1,b1,'g:')
plt.show()
# 抛物线(取自老师代码,部分修改)
import matplotlib.pyplot as plt
#200个点的x坐标
x=range(-6,7)
#生成y点的坐标
y=[i**2 for i in x ]
#绘制一元二次曲线
plt.plot(x,y)
plt.show()

结果:
在这里插入图片描述

4.散点图

plt.scatter ()

import numpy as np
import matplotlib.pyplot as plt
#画散点图
x=np.linspace(0,10,50)#生成0到10中25个等差数,大致描绘出轨迹
plt.scatter(x,np.sin(x))
plt.show()

结果:
在这里插入图片描述
格式化字符:

字符描述
’ - ’实线样式
’ - - ’短横线样式
’ : ’虚线样式
字符颜色
b蓝色
g绿色
r红色
c青蓝色
m品红色

5.柱状图

plt.bar(x,y,width)

x=[10,15,20,25]#  柱中心与柱中心之间的间距,不能小于间距
x_labels=['月考一','期中考试','月考二','期末考试']
y=[125,113,128,122]
plt.bar(x,y,width=4)#  width 间距
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.xticks(x,x_labels)#设置x轴刻度
plt.xlabel('考试')
plt.ylabel('分数')
plt.title('本学期数学成绩柱状图')
plt.show()

结果:
在这里插入图片描述

6.饼状图

#部分代码来自老师
import matplotlib.pyplot as plt
import numpy as np
#准备男、女的人数及比例
man=88
woman=23
man_per=man/(woman+man)
woman_per=woman/(woman+man)
#添加名称
labels=['男生','女生']
#添加颜色
colors=['blue','purple']
#绘制饼状图  pie
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
# labels 名称 colors:颜色,explode=分裂  autopct显示百分比
paches,texts,autotexts=plt.pie([man_per,woman_per],labels=labels,colors=colors,explode=(0,0.05),autopct='%0.01f%%')

#设置饼状图中的字体颜色
for text in autotexts:
    text.set_color('white')

#设置字体大小
for text in texts+autotexts:
    text.set_fontsize(20)
plt.show()

结果:
在这里插入图片描述

7.直方图

plt.hist(x)

# 
import numpy as np
import matplotlib.pyplot as plt
#频次直方图,均匀分布
#正太分布
x=np.random.randn(1000)
#画正太分布图
# plt.hist(x)
plt.hist(x,bins=100) #装箱的操作,将10个柱装到一起及修改柱的宽度

8.三维图

from mpl_toolkits.mplot3d import Axes3D
a = Axes3D( )

import matplotlib.pyplot as plt
#导入3D包
from mpl_toolkits.mplot3d import Axes3D

#创建X、Y、Z坐标
X=[1,1,2,2]
Y=[3,4,4,30]
Z=[1,20,1,1]
fig = plt.figure()

# 创建了一个Axes3D的子图放到figure画布里面
ax = Axes3D(fig)
ax.plot_trisurf(X, Y, Z)
plt.show()

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值