利用python画图

因为最近论文收尾需要画图,于是学了一些画图的东西在这里分享一下

一、环境配置

 linux ubuntu 下需安装下面三个包:Numpy, Scipy,Matplotlib

分别输入下面的代码进行安装:

二、开始画一些简单的图

(1)直线图

#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张图片

(2)折线图

# -*- 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")  # 保存图

结果如下图所示

利用python画图_第2张图片

(3)画两条线

# encoding=utf-8
import matplotlib.pyplot as plt
from pylab import *                                 #支持中文
# mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['xtick.direction'] = 'in'#刻度在象限内部
plt.rcParams['ytick.direction'] = 'in'
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 = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=15)   # 让图例生效,fontsize的含义是坐标刻度字体的大小
# plt.xticks(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()

结果如图所示

利用python画图_第3张图片

(4)柱状图

# -*- 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()

结果如图所示

利用python画图_第4张图片

(5)散点图

import matplotlib.pyplot as plt

x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
# s为点的大小
plt.scatter(x_values,y_values,s=100)

# 设置图表标题并给坐标轴加上标签
plt.title("Scatter pic",fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Scatter of Value",fontsize=14)

# 设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=14)

plt.show()

结果如图所示

 
 

你可能感兴趣的:(python)