- 指定坐标范围 and 设置坐标轴刻度
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 100) # 在区间内生成21个等差数
y = np.sin(x)
linear_y = 0.2 * x + 0.1
plt.figure(figsize = (8, 6)) # 自定义窗口的大小
plt.plot(x, y)
plt.plot(x, linear_y, color = “red”, linestyle = ‘–’) # 自定义颜色和表示方式
plt.title(‘y = sin(x) and y = 0.2x + 0.1’) # 定义该曲线的标题
plt.xlabel(‘x’) # 定义横轴标签
plt.ylabel(‘y’) # 定义纵轴标签
plt.xlim(-np.pi, np.pi)
plt.ylim(-1, 1)
重新设置x轴的刻度
plt.xticks(np.linspace(-np.pi, np.pi, 5))
x_value_range = np.linspace(-np.pi, np.pi, 5)
x_value_strs = [r’ π \pi π’, r’ − π 2 -\frac{\pi}{2} −2π‘, r’ 0 0 0’, r’ π 2 \frac{\pi}{2} 2π‘, r’ π \pi π’]
plt.xticks(x_value_range, x_value_strs)
plt.show() # 显示图像
- 定义原点在中心的坐标轴
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 100)
y = np.sin(x)
linear_y = 0.2 * x + 0.1
plt.figure(figsize = (8, 6))
plt.plot(x, y)
plt.plot(x, linear_y, color = “red”, linestyle = ‘–’)
plt.title(‘y = sin(x) and y = 0.2x + 0.1’)
plt.xlabel(‘x’)
plt.ylabel(‘y’)
plt.xlim(-np.pi, np.pi)
plt.ylim(-1, 1)
plt.xticks(np.linspace(-np.pi, np.pi, 5))
x_value_range = np.linspace(-np.pi, np.pi, 5)
x_value_strs = [r’ π \pi π’, r’ − π 2 -\frac{\pi}{2} −2π‘, r’ 0 0 0’, r’ π 2 \frac{\pi}{2} 2π‘, r’ π \pi π’]
plt.xticks(x_value_range, x_value_strs)
ax = plt.gca() # 获取坐标轴
ax.spines[‘right’].set_color(‘none’) # 隐藏上方和右方的坐标轴
ax.spines[‘top’].set_color(‘none’)
设置左方和下方坐标轴的位置
ax.spines[‘bottom’].set_position((‘data’, 0)) # 将下方的坐标轴设置到y = 0的位置
ax.spines[‘left’].set_position((‘data’, 0)) # 将左方的坐标轴设置到 x = 0 的位置
plt.show() # 显示图像
- legend图例
使用xticks()和yticks()函数替换轴标签,分别为每个函数传入两列数值。第一个列表存储刻度的位置,第二个列表存储刻度的标签。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 100)
y = np.sin(x)
linear_y = 0.2 * x + 0.1
plt.figure(figsize = (8, 6))
为曲线加上标签
plt.plot(x, y, label = “y = sin(x)”)
plt.plot(x, linear_y, color = “red”, linestyle = ‘–’, label = ‘y = 0.2x + 0.1’)
plt.title(‘y = sin(x) and y = 0.2x + 0.1’)
plt.xlabel(‘x’)
plt.ylabel(‘y’)
plt.xlim(-np.pi, np.pi)
plt.ylim(-1, 1)
plt.xticks(np.linspace(-np.pi, np.pi, 5))
x_value_range = np.linspace(-np.pi, np.pi, 5)
x_value_strs = [r’ π \pi π’, r’ − π 2 -\frac{\pi}{2} −2π‘, r’ 0 0 0’, r’ π 2 \frac{\pi}{2} 2π‘, r’ π \pi π’]
plt.xticks(x_value_range, x_value_strs)
ax = plt.gca()
ax.spines[‘right’].set_color(‘none’)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘bottom’].set_position((‘data’, 0))
ax.spines[‘left’].set_position((‘data’, 0))
将曲线的信息标识出来
plt.legend(loc = ‘lower right’, fontsize = 12)
plt.show()
legend方法中的loc 参数可选设置
| 位置字符串 | 位置编号 | 位置表述 |
| — | — | — |
| ‘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.bar
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize = (16, 12))
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([3, 5, 7, 6, 2, 6, 10, 15])
plt.plot(x, y, ‘r’, lw = 5) # 指定线的颜色和宽度
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([13, 25, 17, 36, 21, 16, 10, 15])
plt.bar(x, y, 0.2, alpha = 1, color=‘b’) # 生成柱状图,指明图的宽度,透明度和颜色
plt.show()
有的时候柱状图会出现在x轴的俩侧,方便进行比较,代码实现如下:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize = (16, 12))
n = 12
x = np.arange(n) # 按顺序生成从12以内的数字
y1 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n)
y2 = (1 - x / float(n)) * np.random.uniform(0.5, 1.0, n)
设置柱状图的颜色以及边界颜色
#+y表示在x轴的上方 -y表示在x轴的下方
plt.bar(x, +y1, facecolor = ‘#9999ff’, edgecolor = ‘white’)
plt.bar(x, -y2, facecolor = ‘#ff9999’, edgecolor = ‘white’)
plt.xlim(-0.5, n) # 设置x轴的范围,
plt.xticks(()) # 可以通过设置刻度为空,消除刻度
plt.ylim(-1.25, 1.25) # 设置y轴的范围
plt.yticks(())
plt.text()在图像中写入文本,设置位置,设置文本,ha设置水平方向对其方式,va设置垂直方向对齐方式
for x1, y in zip(x, y2):
plt.text(x1, -y - 0.05, ‘%.2f’ % y, ha = ‘center’, va = ‘top’)
for x1, y in zip(x, y1):
plt.text(x1, y + 0.05, ‘%.2f’ % y, ha = ‘center’, va = ‘bottom’)
plt.show()
三、散点图
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2
plt.scatter(x, y, s = area,c = colors, alpha = 0.8)
plt.show()
四、等高线图
import matplotlib.pyplot as plt
import numpy as np
def f(x, y):
return (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y) # 生成网格坐标 将x轴与y轴正方形区域的点全部获取
line_num = 10 # 等高线的数量
plt.figure(figsize = (16, 12))
#contour 生成等高线的函数
#前俩个参数表示点的坐标,第三个参数表示等成等高线的函数,第四个参数表示生成多少个等高线
C = plt.contour(X, Y, f(X, Y), line_num, colors = ‘black’, linewidths = 0.5) # 设置颜色和线段的宽度
plt.clabel(C, inline = True, fontsize = 12) # 得到每条等高线确切的值
填充颜色, cmap 表示以什么方式填充,hot表示填充热量的颜色
plt.contourf(X, Y, f(X, Y), line_num, alpha = 0.75, cmap = plt.cm.hot)
plt.show()
五、处理图片
import matplotlib.pyplot as plt
import matplotlib.image as mpimg # 导入处理图片的库
import matplotlib.cm as cm # 导入处理颜色的库colormap
plt.figure(figsize = (16, 12))
img = mpimg.imread(‘image/fuli.jpg’)# 读取图片
print(img) # numpy数据
print(img.shape) #
plt.imshow(img, cmap = ‘hot’)
plt.colorbar() # 得到颜色多对应的数值
plt.show()
[[[ 11 23 63]
[ 12 24 64]
[ 1 13 55]
…
[ 1 12 42]
[ 1 12 42]
[ 1 12 42]]
[[ 19 31 71]
[ 3 15 55]
[ 0 10 52]
…
[ 0 11 39]
[ 0 11 39]
[ 0 11 39]]
[[ 22 34 74]
[ 3 15 55]
[ 7 19 61]
…
[ 0 11 39]
[ 0 11 39]
[ 0 11 39]]
…
[[ 84 125 217]
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!