matplotlib画折线图、直方图、饼图、散点图等常见图形

 

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

Matplotlib简介

折线图

直方图

 饼图

散点图

 箱线图

 三维图

条形图


Matplotlib简介

Matplotlib 是一个 Python 的 2D绘图库。通过 Matplotlib,开发者 可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形 图,错误图,散点图等。

设置中文标题

Matplotlib 默认情况不支持中文,我们可以使用以下简单的方法来解决:

plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签

折线图


from matplotlib import pyplot as plt
#准备数据
max_temperature = [26, 30, 20, 32, 25]
min_temperature = [12, 16, 16, 28, 20]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#生成x
x =range(5)
#xticks(x,x_ticks)
x_ticks = [f'星期{i}' for i in range(1,6)]
plt.xticks(x,x_ticks)
#给y轴添加名称
plt.ylabel('温度:单位(℃)')
#添加标题
plt.title('某年某月第N周的温度')
plt.plot(x,max_temperature,label='最高温度')
plt.plot(x,min_temperature,label='最低温度')
#添加图例
# plt.legend(loc=4)
plt.legend(loc='upper right')

直方图

# 获取数据
data = [45, 49, 42, 42, 36, 37, 31, 38, 35,
39, 43, 33, 34, 36, 35, 36, 34, 32, 36, 32,
37, 33, 32, 38, 35]
# 设置组距
bin_width = 2
# 设置分组
bin_count = int((max(data) - min(data)) /
bin_width)
# 设置x轴标签位置
x = range(bin_count)
x_ticks = range(31, 50, 2)
# 设置x轴标签的值
plt.xticks(x_ticks)
# 填充数据
plt.hist(data, bin_count)

 饼图


import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#准备男、女的人数及比例
man=71351
woman=68187
#计算男生女生所占的比
man_perc = man /(man+woman)
woman_perc = woman /(man+woman)
labels = ['男','女']
# colors = ['blue','red']
#调用pie绘制饼图 传入一个列表,列表中是比例数据
paches,texts,autotexts = plt.pie([man_perc,woman_perc],
         autopct='%0.1f%%',
         labels=labels,
         explode =(0,0.1)
         )
#设置字体大小和颜色
for text in autotexts:
    text.set_color('white')
    text.set_fontsize(24)

for t in texts:
    t.set_color('white')
    t.set_fontsize(24)

散点图

import matplotlib.pyplot as plt
import numpy as np
# 绘制不同大小不同颜色的散点图
np.random.seed(0)
x=np.random.rand(100)
y=np.random.rand(100)
colors=np.random.rand(100)
size=np.random.rand(100)*1000
plt.scatter(x,y,c=colors,s=size,alpha=0.7)
plt.show()

 

 箱线图


from matplotlib import pyplot as plt
import numpy as np
#准备数据
data = [np.random.normal(0,i,100) for i in range(1,4)]
#调用 boxplot()
#vert:是竖着还是横着
#notch:切口 更好找到中位数
plt.boxplot(data,vert=True,notch=True)
plt.title('boxplot')
plt.xticks([1,2,3],['box1','box2','box3'])

 三维图


from matplotlib import pyplot as plt
import numpy as np
#准备数据
x = np.linspace(-10,10,100)
y = np.linspace(-10,10,100)
#计算x y 的相交点 
X,Y = np.meshgrid(x,y)
#计算Z
Z = np.sqrt(X**2+Y**2)
#绘制三维图
# plt.contour(X,Y,Z)
plt.contourf(X,Y,Z)

#三维画布绘制三维图
from mpl_toolkits.mplot3d import Axes3D
figure = plt.figure()
ax3d = Axes3D(figure)
ax3d.plot_surface(X,Y,Z)

条形图


from matplotlib import pyplot as plt
import numpy as np
#准备数据
x = range(3)
x_label = ['bar1','bar2','bar3']
y = [1,2,3]
#波动
variance= [0.2,0.4,0.5]
#绘制柱形图
plt.bar(x,y,width=0.5,yerr=variance)
plt.xticks(x,x_label)
#设置y轴坐标的范围
m = max(zip(y,variance))
maxy = (m[0]+m[1])*1.2
plt.ylim([0,maxy])

以下是心得体会:

通过这次Python项目实战,我学到了许多新的知识,这是一个让我把书本上的理论知识运用于实践中的好机会。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。

在这次实战中还锻炼了我其他方面的潜力,提高了我的综合素质。首先,它锻炼了我做项目的潜力,提高了独立思考问题、自我动手操作的潜力,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等

在此次实战中,我还学会了下面几点工作学习心态:

1)继续学习,不断提升理论涵养。在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名青年学子更就应把学习作为持续工作用心性的重要途径。走上工作岗位后,我会用心响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升潜力,以广博的社会知识拓展视野。

2)努力实践,自觉进行主角转化。只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。同样,一个人的价值也是透过实践活动来实现的,也只有透过实践才能锻炼人的品质,彰显人的意志。

3)提高工作用心性和主动性。实习,是开端也是结束。展此刻自我面前的是一片任自我驰骋的沃土,也分明感受到了沉甸甸的职责。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,努力创造业绩,继续创造更多的价值。

这次Python实战不仅仅使我学到了知识,丰富了经验。也帮忙我缩小了实践和理论的差距。在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾派森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值