一、matplotlib
1、基础版
基础入门版不加任何参数的修改,生成的柱状统计图示例。
以下是一个用matplotlib绘制柱状图的示例。
import matplotlib.pyplot as plt
# 定义数据
year = ['2019', '2020', '2021']
sales = [200, 300, 400]
# 创建图表并设置标题
plt.figure()
plt.title('Sales by Year')
# 绘制柱状图
plt.bar(year, sales)
# 设置横纵坐标标签
plt.xlabel('Year')
plt.ylabel('Sales')
# 显示图表
plt.show()
这段代码将生成一个以年份为横坐标,销售额为纵坐标的柱状图,并展示在屏幕上。
2、进阶版
介绍绘图相关的参数修改。
颜色选择:
柱状图
以下这段代码创建一个条状图,用于展示不同比赛中的总分以及对应的男性和女性的分数。
import matplotlib.pyplot as plt #导入matplotlib
labels=['G1', 'G2', 'G3', 'G4', 'G5'] #获取绘图所用数据,用list方式
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
men_std = [2, 3, 4, 1, 2]
women_std = [3, 5, 2, 3, 3]
width = 0.35
#the width of the bars: can also be len(x) sequence
fig, ax = plt.subplots()
#subplot()表示分成几个图来画,可以设置参数。
#fig表示图示,ax表示对应各种参数
ax.bar(labels, men_means, width, yerr=men_std, label='Men')
ax.bar(labels, women_means, width, yerr=women_std, bottom=men_means, label='Women')
#bar绘制条状图的函数
ax.set_ylabel('Scores')#设定纵坐标的名称
ax.set_xlabel('Game')#设定纵坐标的名称
#可以尝试加入xlabel 改变标签名称 改变bar的宽度、颜色等等
ax.set_title('Scores by group and gender')#设定标题
ax.legend()#设定标签
# plt.savefig('E:/test1.png')#保存图像到指定位置,指定格式
plt.show()#显示
折线图
此程序将生成一个简单的折线图。 x轴显示1到5,y轴显示2到10,每个数据点由一个蓝色的点表示,这些点通过一条蓝线连接。 此图还包括标签和标题。
import matplotlib.pyplot as plt
# 定义x和y的值
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制折线图
ax.plot(x, y)
# 设置图形属性
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_title('Line Plot')
# 显示图形
plt.show()
以下例子绘制了一个具有多个数据集的折线图,并具有各种自定义设置:
import matplotlib.pyplot as plt
import numpy as np
# 数据集
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 绘图
plt.plot(x, y1, label='sin', color='red', linestyle='--', linewidth=2)
plt.plot(x, y2, label='cos', color='blue', linestyle='-.', linewidth=2)
plt.plot(x, y3, label='tan', color='green', linestyle='-', linewidth=2)
# 图表标题和轴标签
plt.title("Trigonometric Functions")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
# 图例
plt.legend(['sin', 'cos', 'tan'])
# 网格
plt.grid(True)
plt.show()
在这个例子中,我们使用NumPy生成三个数据集y1、y2和y3,每个数据集都使用不同的线条样式和颜色绘制。我们还添加了一个图例,以区分每个数据集。此外,我们还打开了网格以增强可读性。
代码解读
from mpl_toolkits.axes_grid1 import host_subplot
from mpl_toolkits import axisartist
import matplotlib.pyplot as plt
#创建主要的坐标轴和辅助坐标轴,并做好相应的设置
host = host_subplot(111, axes_class=axisartist.Axes) # 创建主坐标轴
plt.subplots_adjust(right=0.75) # 将图形向左平移
par1 = host.twinx() # 创建第一个辅助坐标轴
par2 = host.twinx() # 创建第二个辅助坐标轴
par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0)) # 将第二个辅助坐标轴右移60个单位
par1.axis["right"].toggle(all=True) # 在第一个辅助坐标轴上显示右侧刻度
par2.axis["right"].toggle(all=True) # 在第二个辅助坐标轴上显示右侧刻度
#绘制各自的折线图,并设置一些图形属性
p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density") # 在主坐标轴上画第一条折线
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature") # 在第一个辅助坐标轴上画第二条折线
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity") # 在第二个辅助坐标轴上画第三条折线
host.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density") # 设置主坐标轴的范围和标签
par1.set(ylim=(0, 4), ylabel="Temperature") # 设置第一个辅助坐标轴的范围和标签
par2.set(ylim=(1, 65), ylabel="Velocity") # 设置第二个辅助坐标轴的范围和标签
host.legend() # 显示图例
#设置各自的坐标轴标签颜色
host.axis["left"].label.set_color(p1.get_color()) # 设置主坐标轴的标签颜色
par1.axis["right"].label.set_color(p2.get_color()) # 设置第一个辅助坐标轴的标签颜色
par2.axis["right"].label.set_color(p3.get_color()) # 设置第二个辅助坐标轴的标签颜色
plt.show() # 将绘制好的图形显示出来
折线图示例:
from mpl_toolkits.axes_grid1 import host_subplot
from mpl_toolkits import axisartist
import matplotlib.pyplot as plt
host = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)
p1, = host.plot([0, 0.15, 0.45, 0.65, 0.85], [0, 1, 2, 3, 4], 'o-', label="Density", linewidth=3, color='darkred')
p2, = host.plot([0, 0.15, 0.45, 0.65, 0.85], [0.5, 3, 2, 1, 2.5], 'o-', label="Temperature", linewidth=3, color='cornflowerblue')
p3, = host.plot([0, 0.15, 0.45, 0.65, 0.85], [0.3, 2.4, 1.7, 2, 0.8], 'o-', label="Velocity", linewidth=3, color='orange')
font = {'family' : 'Times New Roman',
'weight' : 'normal',
'size' : 100,
}
host.set(xlim=(0.1, 0.9), ylim=(0, 4), xlabel="Distance", ylabel="Delay")
plt.xlabel('Distance',font)
plt.ylabel('Delay',font)
host.legend(fontsize='medium')
plt.grid(True)
plt.show()
3、matplotlib官网绘图示例
4、图像保存格式
在word上保存图像时最好选择性粘贴为windows元文件格式;
插入1*2表格粘贴图像,居中,在表格第二行可以备注上图像名称,最后把表格的边框和底纹设置成无即可;
示意图的位置尽量在新一页的顶天位置放置。
二、visio
使用技巧:
三、伪代码块(Latex及XeLatex等)
https://pgn09a51gx.feishu.cn/docx/Xhr9dF5k7ozUVOxqAeDcfJdQnaf#GSGydeY4UooKMSxWGUgcYKt2n3e
https://pgn09a51gx.feishu.cn/docx/Xhr9dF5k7ozUVOxqAeDcfJdQnaf#FUkOdIAO4oo6SSx0CTQcBkQxnYg
https://pgn09a51gx.feishu.cn/docx/Xhr9dF5k7ozUVOxqAeDcfJdQnaf#E28idWgO8oo8gexAdp4che4Sn0f
四、好用的格式转化器
五、文献阅读