大家好,我是飞向天空的牛。
最近学习了一下用Python绘制简易的二维图像,代码如下图所示:绘图代码
文本如下:
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"] = ["Times New Roman"] # 设置字体,如Times New Roman、FangSong等
plt.figure() # 新建一个画布,用于输出图像
plt.rcParams['xtick.direction'] = 'in' # 设置x轴刻度朝向
plt.rcParams['ytick.direction'] = 'in' # 设置y轴刻度朝向
plt.axis([0, 22, 0, 620]) # 规定画图区域 x的范围为0~22;y的范围为0~120 如无需要可不写这句话
# -----------------plot画函数图像---------------------
x = np.linspace(0, 20, 1000) # 从0到20,等分1000分
y = x**2+2*x # 这里写函数的表达式
plt.plot(x, y, linewidth=1, color='k', linestyle='-', label='y=x$^{2}$ +2x') # 绘制关于x的曲线 y
# plt.plot(x, y) # 常用简洁写法
# ----------------scatter画散点图---------------------
x1 = [3, 4, 5, 6] # 散点x轴数据
y1 = [20, 44, 68, 92] # 散点y轴数据
plt.scatter(x1, y1, color='b', marker='*', label='scatter test') # 绘制散点图
# plt.scatter(x1, y1) # 常用简洁写法
# ---------------画图例、坐标轴、刻度和图片题目--------------
plt.legend(loc='upper left', fontsize=10) # 加图例须在plot或scatter语句中写label="图例名称’
plt.xlim(0, 22) # 设置x轴标注刻度范围,如无需要可不写
plt.ylim(0, 600) # 设置y轴标注刻度范围,如无需要可不写
plt.xlabel('x name', fontsize=10) # x 轴名称输入
plt.ylabel('y name', fontsize=10) # y 轴名称输入
plt.title("y=x$^{2}$ +2x", fontsize=10) # 图片标题名称输入
plt.show()
以上主要介绍了用plot和scatter方法绘制图像,和matlab中的写法有点类似。
什么,为什么不直接用Origin画?因为用Python画帅一些,哈哈
高手路过轻喷。
参考资料:
【1】https://www.zhihu.com/question/62070663/answer/301558761
【2】刘大成. Python数据可视化之matplotlib实践[M]. 2018.
【3】Korites B J. Python Graphics: A Reference for Creating 2D and 3D Images[M]. Apress, 2018.