![f24f6ba67ee744c264b6e993c54d5e7a.png](https://img-blog.csdnimg.cn/img_convert/f24f6ba67ee744c264b6e993c54d5e7a.png)
每件事情总有两面性,当我们看到不太好的一面时,一定要想着去寻找一下好的一面。就比如,原本计划好的五一行程被打乱之后,我脑子里便诞生了一个“伟大”的想法,立马买好了乳胶漆打算利用闲暇的假期时间,将房间粉刷一遍,现在开心的心情远远大过于被打乱安排后的苦恼,甚至想立马动手实施我的这一想法hhhhh,就连此刻的学习都很是开心^_^
一、 图像的标题和图例
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.1)
y1 = np.exp(x)
y2 = np.exp(2 * x)
plt.plot(x, y1, color="r", linestyle="-", marker="^", linewidth=1, label="y1")
plt.plot(x, y2, color="b", linestyle="-", marker="s", linewidth=1, label="y2")
#设置图例
plt.legend(loc='upper left', bbox_to_anchor=(0.2, 0.95))
#设置图像的标题
plt.title("Figure 1")
plt.show()
运行效果如下:
![cf7db0a804d96c118a8b6ac059478068.png](https://img-blog.csdnimg.cn/img_convert/cf7db0a804d96c118a8b6ac059478068.png)
修改图例-1:
plt.legend(loc='upper left', bbox_to_anchor=(-0.2, 1.0))
呈现效果如下:
![471c7d8849c730eb7f8a1b9dec6fc4ba.png](https://img-blog.csdnimg.cn/img_convert/471c7d8849c730eb7f8a1b9dec6fc4ba.png)
修改图例-2:
plt.legend(loc='upper left', bbox_to_anchor=(0, 1.0))
运行效果如下:
![bae2e3dbdd30ba77c7031bd69149aab2.png](https://img-blog.csdnimg.cn/img_convert/bae2e3dbdd30ba77c7031bd69149aab2.png)
小小地分析一下:
1. 从代码中,可以知道plt.legend()是用来设置图例的,这个函数的第一个参数用来设定一个大概的位置,“upper left“表示在左上角;这第二个参数呢,就是用来细化位置的,bbox_to_anchor(x1, x2)中,x1的数值越大,图例越往右走,x2的数值越大,图例则越往上方走。
2. 如果不设置”label”标签,则图例不会在绘图结果中呈现。
二、网格,背景色以及文字注释
1. 网格:
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.1)
y = [2 * i for i in x]
plt.plot(x, y, color="r", linestyle="-", marker="^", linewidth=1)
plt.grid(color="k", linestyle=":")
# plt.grid(color="k", linestyle=":",axis='x')
# plt.grid(color="k", linestyle=":", axis='y')
plt.show()
运行效果如下:
![5432667da09f7f7d76eedd08f86a680a.png](https://img-blog.csdnimg.cn/img_convert/5432667da09f7f7d76eedd08f86a680a.png)
修改网格-1:
plt.grid(color="k", linestyle=":",axis='x')
运行效果如下:
![4f9d014575a158560cfcc05ba1433723.png](https://img-blog.csdnimg.cn/img_convert/4f9d014575a158560cfcc05ba1433723.png)
修改网格-2:
plt.grid(color="k", linestyle=":",axis='y')
运行效果如下:
![270f2d72c1ca482f930f72d53d3d61f9.png](https://img-blog.csdnimg.cn/img_convert/270f2d72c1ca482f930f72d53d3d61f9.png)
小分析:
(1) 用函数grid()
添加网格,函数中我们可以定义网格的样式,比如线条颜色,类型,粗细等等;
(2) 函数grid()
中axis参数的设置,可以通过设定为x、y、both(默认的),让网格做不同的呈现。
2. 背景色:
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.1)
y1 = np.exp(x)
y2 = np.exp(2 * x)
plt.subplot(facecolor="g")
plt.plot(x, y1, color="r", linestyle="-", marker="^")
plt.plot(x, y2, color="b", linestyle="-", marker="s")
plt.grid(color="k", linestyle=":")
plt.show()
运行效果如下:
![d2f00b61e2c720a9bf3480ce9f9b9760.png](https://img-blog.csdnimg.cn/img_convert/d2f00b61e2c720a9bf3480ce9f9b9760.png)
这个点我还没发现什么可使用的价值,抄别人的分析吧hh
通过向plt.subplot()
函数传递参数facecolor
设置图像的背景色。需要注意的是背景色的设置代码应该在绘制曲线之前,否则相当于给整张图上色,覆盖了要展示的曲线。
======================================================
plt.text()
, plt.annotate()
是两种向图像添加文本注释的方法。
3. 文字注释-plt.text():
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.1)
y1 = np.exp(x)
y2 = np.exp(2 * x)
plt.plot(x, y1, color="r", linestyle="-", marker="^", linewidth=1)
plt.plot(x, y2, color="b", linestyle="-", marker="s", linewidth=1)
plt.text(-0.5, 3, "exp functions", fontsize=10)
plt.show()
运行效果如下:
![841cf6383d40beb4358bec6bfc04c1fb.png](https://img-blog.csdnimg.cn/img_convert/841cf6383d40beb4358bec6bfc04c1fb.png)
小分析:
plt.text()
可以在图像任意位置添加文字。
plt.text()
中前两个参数表示添加文字的坐标位置,第3个参数是要添加的文本。
4. 文字注释-plt.annotate():
代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.1)
y1 = np.exp(x)
y2 = np.exp(2 * x)
plt.plot(x, y1, color="r", linestyle="-", marker="^", linewidth=1)
plt.plot(x, y2, color="b", linestyle="-", marker="s", linewidth=1)
# plt.text(-0.5, 3, "exp functions", fontsize=10)
plt.annotate('A', xy=(0, 1), xytext=(-0.5, 2.5), arrowprops=dict(facecolor='k', headwidth=10, width=2))
plt.show()
运行效果如下:
![9228f1c542ac5e0f5ce5331dfee597c5.png](https://img-blog.csdnimg.cn/img_convert/9228f1c542ac5e0f5ce5331dfee597c5.png)
小分析:
(1)plt.annotate()
则可以帮助我们形象地为曲线中的某一个点添加注释。
(2)对于plt.annotate()中的参数分别解释一下,第一个参数’A’是注释文本,xy
表示要注释的点的坐标,xytext
表示注释文本的起始坐标,arrowprops
表示箭头,我们可以通过一个字典形的变量,设置其样式,包括颜色,宽度等等(headwidth
表示箭头宽度,width
表示箭身的宽度)。
参考链接:https://blog.csdn.net/guoziqing506/article/details/78975150
PS:至此,该参考链接中的内容,我就已经学习完成了,感谢作者在网络上的分享。
对于学术研究来说,当前的绘图知识,远不能支撑一个很好的研究成果的呈现,因此,对python画图的学习,还要继续深入探索和学习~