本文旨在介绍Python绘图的基本知识,通过介绍绘图基础知识并具体列举三种常用的绘图工具来帮助读者了解绘图工具的适用。在文末笔者给出了科研绘图的一般格式以供参考。
为了方便大家,先在此放上从Excel中提取数据并直接进行数据处理的代码,读者可以在实操过程中不断深入学习相关知识。
import pandas as pd
import matplotlib.pyplot as plt
# 读取Excel数据
file_path = "D:\filepath\example.xlsx"
sheet = pd.read_excel(file_path, sheet_name = "Sheet1") # sheet_name不指定时默认返回全表数据
col_name = sheet.columns
### 设置格式
# 设置坐标轴刻度向内
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams['font.sans-serif']=['Times New Roman'] # 设置全局字体,可选择需要的字体替换掉‘Times New Roman’
font1={
'family': 'Times New Roman', 'weight': 'light', 'size': 12} # 设置字体模板,
font2={
'family': 'Times New Roman', 'weight': 'light', 'size': 16} # 设置字体模板,
plt.title("Title",fontdict=font2) # 标题
# # 设置坐标轴的取值范围
# plt.xlim((0.5, 6.5))
# plt.ylim((0, 36))
plt.title("Title")
plt.minorticks_on() # 副刻度线
plt.xlabel('x - label',fontdict=font1)
plt.ylabel('y - label',fontdict=font1)
plt.ticklabel_format(axis='both',style='sci') # 设置文章风格
plt.savefig("example.png",format="png",dpi=600) # 自动保存图片
linestyle = ['r-+', 'g-o', 'b-*','y-^', 'c-v', 'm-x'] # 线条颜色及样式列表
for i in range(1,len(col_name)):
plt.plot(sheet[col_name[0]], sheet[col_name[i]],linestyle[i%len(linestyle)],lw=1.5,label=col_name[i])#,marker = 'o')
plt.legend(loc="upper right",scatterpoints=1,prop=font1,shadow=False,frameon=True) # 添加图例 loc控制图例位置,“best”为最佳位置,“bottom”,"top",“topringt"等
plt.ticklabel_format(axis='both',style='sci') # 设置文章风格
plt.savefig("example.png",format="png",dpi=600) # 自动保存图片
plt.show()
待处理数据如下
处理结果
emmmm,选取的数据不是很好,don’t carry,接下来就是Python绘图与数据可视化的详细介绍了。
绘图基础知识
- 画板figure,画纸Sublpot
- 画纸上最上方是标题title
- 坐标轴Axis
- 图例Legend
- 网格Grid
- 点 Markers
绘图类型
函数名称 | 描述 |
---|---|
Bar | 绘制条形图 |
Barh | 绘制水平条形图 |
Boxplot | 绘制箱型图 |
Hist | 绘制直方图 |
his2d | 绘制2D直方图 |
Pie | 绘制饼状图 |
Plot | 在坐标轴上画线或者标记 |
Polar | 绘制极坐标图 |
Scatter | 绘制x与y的散点图 |
Stackplot | 绘制堆叠图 |
Stem | 用来绘制二维离散数据绘制(又称为“火柴图”) |
Step | 绘制阶梯图 |
Quiver | 绘制一个二维按箭头 |
接下来,我们对Python中最常适用的三种绘图工具进行介绍。
Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy 数组来绘制 2D 图像,其使用简单、代码清晰易懂。
PyLab
PyLab 是一个面向 Matplotlib 的绘图库接口,其语法和 MATLAB 十分相近。它和 Pyplot 模快都够实现 Matplotlib 的绘图功能。
import numpy
import pylab
x