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.title('显⽰中⽂标题')
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
x=np.arange(0,len(list1))+1
x[0]=1
my_x_ticks = np.arange(1, 14, 1)
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.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):
<(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")#将图像保存下来
python新手代码画图折线图
⽰例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
from pylab import *        #⽀持中⽂
names =['5', '10', '15', '20', '25']
x = range(len(names))
y =[0.855, 0.84, 0.835, 0.815, 0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
#plt.plot(x, y, 'ro-')
#plt.plot(x, y1, 'bo-')
#pl.xlim(-1, 11) # 限定横轴的范围
#pl.ylim(-1, 110) # 限定纵轴的范围
plt.plot(x, y, marker='o', mec='r', mfc='w',label=u'y=x^2曲线图') plt.plot(x, y1, marker='*', ms=10,label=u'y=x^3曲线图')
plt.legend()# 让图例⽣效
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)邻居")#X轴标签
plt.ylabel("RMSE")#Y轴标签
plt.title("A simple plot")#标题
plt.show()
画两条线
from pylab import *                                #⽀持中⽂
# Params['font.sans-serif'] = ['SimHei']
names =[0.1,0.2,0.3,0.5,0.8,1]
x = range(len(names))
y =[0.476, 0.475, 0.475,0.474,0.473, 0.468]
y1 =[0.674, 0.671, 0.682,0.681,0.684,0.686]
#plt.plot(x, y, 'ro-')
#plt.plot(x, y1, 'bo-')
#pl.xlim(-1, 11)  # 限定横轴的范围
plt.ylim(0.45, 0.7)# 限定纵轴的范围
plt.tick_params(labelsize=13)
plt.plot(names, y, 'r--',linewidth = 3,label='ACC@1')
plt.plot(names, y1, 'b--',linewidth = 3,label='ACC@5')
plt.legend(loc=0, numpoints=1)
leg = a().get_legend()
ltext = _texts()
plt.setp(ltext, fontsize=15)# 让图例⽣效,fontsize的含义是坐标刻度字体的⼤⼩
# icks(x, names, rotation=100)#rotation在此处是说左边刻度的倾斜程度
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel("$\\alpha$",size=18)#X轴标签,希腊字母的表⽰⽅式要加\\
plt.ylabel("ACC",size=18)#Y轴标签
# plt.title("A simple plot") #标题
plt.savefig('alpha.eps')
plt.show()
柱状图
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import tensorflow as tf
name_list =['1', '2', '3']
num_list =[574.0, 320.0, 400]
plt.bar(range(len(num_list)), num_list, color='rgb',width=0.2, tick_label=name_list)#width来调整柱的宽度 color来设置颜⾊plt.show()
结果如图所⽰
散点图