参考博客
https://www.cnblogs.com/qccc/p/12819459.html
https://blog.csdn.net/SweetSeven_/article/details/82378677
https://blog.csdn.net/u010358304/article/details/78906768
Python可视化:python画图字体设置
设置标记
有时候我们希望给图上的每个点做标记,可以更直观的看到标记点,关键代码:
plt.plot(x,list1,label='list1',marker = "o",markersize=10)#marker设置标记形状 markersize设置标记大小
plt.plot(x,list2,label='list2',marker = "x",markersize=8)
完整代码:
import matplotlib.pyplot as plt
import numpy as np
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,2,4]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.title('显示中文标题')
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
x=np.arange(0,len(list1))+1
x[0]=1
my_x_ticks = np.arange(1, 14, 1)
plt.xticks(my_x_ticks)
plt.plot(x,list1,label='list1',marker = "o",markersize=10)#marker设置标记形状 markersize设置标记大小
plt.plot(x,list2,label='list2',marker = "x",markersize=8)
plt.legend()
plt.grid()#添加网格
plt.show()
补充内容:
matplotlib库marker表
在绘图结果上显示每个点的坐标
import matplotlib.pyplot as plt
import random
x1 = list(range(10))
y1 = [random.randint(0,10) for i in range(10)]
plt.plot(x1, y1, color='r',markerfacecolor='blue',marker='o')
for a, b in zip(x1, y1):
plt.text(a, b, (a,b),ha='center', va='bottom', fontsize=10)
plt.legend()
plt.show()
直线图
#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1] #x轴
y = [0, 1] #y轴
plt.figure()#创建绘图对象
plt.ylabel('ACC@1',size=20)#y轴的坐标 size为字体大小
plt.xlabel('Iters',size=20)#x轴的坐标
plt.title('line',size=30)#标题
plt.plot(x, y,linewidth=3,c='r')#在当前对象进行绘图,c为颜色,linewidth为线的宽度
plt.show()#将当先图像显示出来
plt.savefig("1.jpg")#将图像保存下来
折线图
示例1
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
# X轴,Y轴数据
x = [0, 1, 2, 3, 4, 5, 6]
y = [0.3, 0.4, 2, 5, 3, 4.5, 4]
plt.figure(figsize=(8, 4)) # 创建绘图对象
plt.plot(x, y, "b--", linewidth=1) # 在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度)
plt.xlabel("Time(s)") # X轴标签
plt.ylabel("Volt") # Y轴标签
plt.title("Line plot") # 图标题
plt.show() # 显示图
plt.savefig("line.jpg") # 保存图
示例2
# encoding=utf-8
import matplotlib.pyplot as plt
from pylab import * #支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
names = ['5', '10', '15', '20', '25']
x = range(len