Matplotlib 使用笔记

本文详细介绍了如何使用Matplotlib库在Python中创建各种图表,包括线图、散点图、柱状图、3D图以及多图合并。还讨论了如何设置坐标轴、图例和注释。此外,文中提到了如何通过Subplots进行多图展示,以及提供了一个完整的Java学习资源推荐。
摘要由CSDN通过智能技术生成

@File : matplotlib_examples.py

@Software: PyCharm

import matplotlib.pyplot as plt

import numpy as np

from mpl_toolkits.mplot3d import Axes3D

“”"

基本使用

“”"

x = np.linspace(-5, 5, 100)

y1 = 2 * x +5

y2 = x ** 2

定义一个图像窗口,并画出图像

plt.figure(num=1, figsize=(8,5))

plt.plot(x, y1, label = ‘linear’, color = ‘red’, linestyle=‘–’)

plt.plot(x, y2, label = ‘square’, color = ‘blue’)

调整坐标轴名字及其间隔

plt.ylim(-5, 20)

plt.xlim(-5, 5)

plt.xlabel(‘x’)

plt.ylabel(‘y’)

设置坐标轴刻度及对应名

new_ticks = np.linspace(-5, 4, 10)

print(new_ticks)

plt.xticks(new_ticks)

plt.yticks([-3, -1, 3, 10, 18],[r’ r e a l l y   b a d really\ bad really bad’, r’ b a d bad bad’, r’ n o r m a l normal normal’, r’ g o o d good good’, r’ r e a l l y   g o o d really\ good really good’])

获取坐标轴信息

ax = plt.gca()

设置边框信息,将上边框和右边框设置为不同颜色,默认是白色

ax.spines[‘right’].set_color(‘green’)

ax.spines[‘top’].set_color(‘purple’)

调整坐标轴位置

ax.spines[‘left’].set_position((‘data’, 1))

ax.spines[‘bottom’].set_position((‘data’, 0))

“”"

Legend图例,添加图例

添加位置参数:

‘best’ : 0,

‘upper right’ : 1,

‘upper left’ : 2,

‘lower left’ : 3,

‘lower right’ : 4,

‘right’ : 5,

‘center left’ : 6,

‘center right’ : 7,

‘lower center’ : 8,

‘upper center’ : 9,

‘center’ : 10,

“”"

plt.legend(loc = ‘upper right’) # 显示在右上角

添加注释

plt.text(0, 0, r’This is (0, 0).', fontdict={‘size’:14, ‘color’:‘red’})

显示图像

plt.show()

plt.close()

“”"

画图种类

“”"

散点图

SIZE = 1024

x = np.random.normal(0, 1, SIZE)

y = np.random.normal(0, 1, SIZE)

T = np.arctan2(y, x)

plt.scatter(x, y, s=75, c=T, alpha=.5)

plt.show()

plt.close()

bar柱状图

x = np.arange(15)

Y1 = (1 - x / float(15)) * np.random.uniform(0.5, 1.0, 15)

Y2 = (1 - x / float(15)) * np.random.uniform(0.5, 1.0, 15)

plt.bar(x, Y1, edgecolor =‘black’,facecolor=‘red’)

plt.bar(x, -Y2, edgecolor =‘yellow’,facecolor=‘blue’)

for x, y in zip(x,Y1):

plt.text(x+0.1,y+0.1,‘%.2f’ % y, ha=‘center’,va=‘bottom’)

plt.show()

plt.close()

随机矩阵画图

a=np.array(np.random.rand(12)).reshape(3,4)

plt.imshow(a, interpolation=‘none’, cmap=‘bone’, origin=‘lower’)

plt.colorbar(shrink=.1)

plt.xticks(())

plt.yticks(())

plt.show()

plt.close()

3D图

fig = plt.figure()

ax = Axes3D(fig)

x = np.arange(-5, 5, .5)

y = np.arange(-5, 5, .25)

x,y = np.meshgrid(x, y)

r = np.sqrt(x2,y2)

z=np.sin®

ax.plot_surface(x,y,z,cmap=plt.get_cmap(‘rainbow’),rstride=1,cstride=1)

投影

ax.contourf(x,y,z,zdir=‘y’,offset=2,cmap=plt.get_cmap(‘rainbow’))

plt.show()

plt.close()

“”"

多图合并显示

“”"

1、subplot多合一显示

plt.figure()

将整个图像窗口均匀分为2行2列

plt.subplot(2,2,1)

plt.plot([0, 1], [0,1])

plt.subplot(2,2,2)

plt.plot([0, 1], [0,5])

plt.subplot(2,2,3)

plt.plot([0, 1], [0,10])
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。

如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。


《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。

[外链图片转存中…(img-ZhVPV343-1711793257348)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值