python通过文本在一个图中画多条线的实例

废话不多说,直接上代码吧!

import matplotlib.pyplot as plt
import numpy as np

data1 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.test')
data2 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.train')

plt.title('Result Analysis')

plt.plot(data1[:,0], data1[:,2], color='skyblue', label='y1')
plt.plot(data2[:,0], data2[:,3], color='blue', label='y2')
plt.legend()

plt.xlabel('x')
plt.ylabel('y')
plt.show()

结果:

加一些不同形式的线

import matplotlib.pyplot as plt
import numpy as np

data1 = np.loadtxt('/data_1/project_test/teest1.txt')
data2 = np.loadtxt('/data_1/project_test/teest2.txt')
data3 = np.loadtxt('/data_1/project_test/teest3.txt')

plt.title('Result Analysis')

plt.plot(data1[:,0], data1[:,1], color='skyblue', label='y1',ls='-.')#ls或linestyle
plt.plot(data2[:,0], data2[:,1], color='green', label='y2',ls=':')
plt.plot(data3[:,0], data3[:,1], color='red', label='y3',ls='steps')
plt.legend()

plt.xlabel('x')
plt.ylabel('y')
plt.show()

加标记

import matplotlib.pyplot as plt
import numpy as np

data1 = np.loadtxt('/data_1/project_test/teest1.txt')
data2 = np.loadtxt('/data_1/project_test/teest2.txt')
data3 = np.loadtxt('/data_1/project_test/teest3.txt')

plt.title('Result Analysis')

plt.plot(data1[:,0], data1[:,1], color='skyblue', label='y1',ls='-.',marker='*')
plt.plot(data2[:,0], data2[:,1], color='green', label='y2',ls=':',marker='+')
plt.plot(data3[:,0], data3[:,1], color='red', label='y3',ls='steps',marker='D')
plt.legend()

plt.xlabel('x')
plt.ylabel('y')
plt.show()

总结:

linestyle or ls:实线'-' , 破折线'--' , 点划线'-.' ,虚线':'

plt.plot()参数设置
Property Value Type
alpha 控制透明度,0为完全透明,1为不透明
animated [True False]
antialiased or aa [True False]
clip_box a matplotlib.transform.Bbox instance
clip_on [True False]
clip_path a Path instance and a Transform instance, a Patch
color or c 颜色设置
contains the hit testing function
dash_capstyle [‘butt' ‘round' ‘projecting']
dash_joinstyle [‘miter' ‘round' ‘bevel']
dashes sequence of on/off ink in points
data 数据(np.array xdata, np.array ydata)
figure 画板对象a matplotlib.figure.Figure instance
label 图示
linestyle or ls 线型风格[‘-' ‘–' ‘-.' ‘:' ‘steps' …]
linewidth or lw 宽度float value in points
lod [True False]
marker 数据点的设置[‘+' ‘,' ‘.' ‘1' ‘2' ‘3' ‘4']
markeredgecolor or mec any matplotlib color
markeredgewidth or mew float value in points
markerfacecolor or mfc any matplotlib color
markersize or ms float
markevery [ None integer (startind, stride) ]
picker used in interactive line selection
pickradius the line pick selection radius
solid_capstyle [‘butt' ‘round' ‘projecting']
solid_joinstyle [‘miter' ‘round' ‘bevel']
transform a matplotlib.transforms.Transform instance
visible [True False]
xdata np.array
ydata np.array

zorder any number

补充拓展:python 画直线和平面实例

画直线

from mpl_toolkits.axisartist.axislines import SubplotZero
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(1)
ax = SubplotZero(fig, 111)
fig.add_subplot(ax)

for direction in ["xzero", "yzero"]:
  # adds arrows at the ends of each axis
  ax.axis[direction].set_axisline_style("-|>")

  # adds X and Y-axis from the origin
  ax.axis[direction].set_visible(True)

for direction in ["left", "right", "bottom", "top"]:
  # hides borders
  ax.axis[direction].set_visible(False)

plt.text(-2, 2, r"y=kx+b",
     horizontalalignment='center', fontsize=20)  

x = np.linspace(-2,2,100)  

k=-1
b=0  

y = k*x + b

ax.plot(x, y)
plt.show()

画平面

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

fig = plt.figure()
ax = fig.gca(projection='3d')

# Make data.
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
a1 = 2
a2 = 1
Z = a1*X+a2*Y

# Plot the surface.
surf = ax.plot_surface(X, Y, Z, cmap=cm.Blues,
            linewidth=0, antialiased=False)

ax.set_xlabel(r'$x_1$',fontsize = 20, color = 'blue')
ax.set_ylabel(r'$x_2$',fontsize = 20, color = 'blue')
ax.set_zlabel(r'$x_3$',fontsize = 20, color = 'blue')

以上这篇python通过文本在一个图中画多条线的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python数据可视化之画图

    安装数据可视化模块matplotlib:pip install matplotlib 导入matplotlib模块下的pyplot 1 折线图 from matplotlib import pyplot #横坐标 year=[2010,2012,2014,2016] #纵坐标 perple=[20,40,60,100] #生成折线图:函数polt pyplot.plot(year,perple) #设置横坐标说明 pyplot.xlabel('year') #设置纵坐标说明 pyplot.yla

  • Python绘制3D图形

    3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线(曲线)以及3D文字等的绘制. 准备工作: python中绘制3D图形,依旧使用常用的绘图模块matplotlib,但需要安装mpl_toolkits工具包,安装方法如下:windows命令行进入到python安装目录下的Scripts文件夹下,执行: pip install --upgrade matplotlib即可:li

  • Python使用matplotlib绘制多个图形单独显示的方法示例

    本文实例讲述了Python使用matplotlib绘制多个图形单独显示的方法.分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib.pyplot as plt #创建自变量数组 x= np.linspace(0,2*np.pi,500) #创建函数值数组 y1 = np.sin(x) y2 = np.cos(x) y3 = np.sin(x*x) #创建图形 plt.figure(1) ''' 意思是在一个2行2列共4个子图的图中,

  • Python matplotlib画曲线例题解析

    这篇文章主要介绍了Python matplotlib画曲线例题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 初学者,练习以下片段: 代码1:用 一元一次函数 画直线 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-2, 2, 50) print(x) y = 2*x + 1 plt.plot(x, y) ax = plt.gca() ax.spines

  • python通过文本在一个图中画多条线的实例

    废话不多说,直接上代码吧! import matplotlib.pyplot as plt import numpy as np data1 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.test') data2 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.train'

  • Python利用matplotlib做图中图及次坐标轴的实例

    图中图 准备数据 import matplotlib.pyplot as plt fig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2, 5, 8, 6] - 大图 首先确定大图左下角的位置以及宽高: 注意,4个值都是占整个figure坐标系的百分比.在这里,假设figure的大小是10x10,那么大图就被包含在由(1, 1)开始,宽8,高8的坐标系内. # below are all percentage left, bott

  • 使用python生成云词图实现画红楼梦词云图

    目录 在用Python绘制红楼梦词云图 文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了 那怎么办呢?能否用贾宝玉的图像来画词云图呢?答案是肯定的. 我们先来找一张贾宝玉的照片,这张照片不错,不过还是要处理一下,把背景处理称为白色,这个时候,PS工具可以简单地达到这个效果. 接着,我们就要来写程序了,老规矩,我们先来导入包: from scipy.misc import imread import matp

  • python画图时给图中的点加标签和plt.text的使用

    背景: 今天在用matplotlib模块画各城市2019-nCoV疫情确诊人数和节前流入人口数的图的时候遇到了要给图中的点加上标签示意,原本图长这个样子 现在要给各散点标注是哪个哪个城市,即下面这种图: matplotlib模块加标签主要有matplotlib.pyplot.text()和matplotlib.pyplot.annotate()两个关键函数,后者适用范围更广,今天主要谈一下前者matplotlib.pyplot.text(),简写成plt.text() . 准备知识: 在此重点讲

  • Python从单元素字典中获取key和value的实例

    之前写代码很多时候会遇到这么一种情况:在python的字典中只有一个key/value键值对,想要获取其中的这一个元素还要写个for循环获取. 网上搜了一下,发现还有很多简单的方法: 方法一 d = {'name':'haohao'} (key, value), = d.items() 方法二 d = {'name':'haohao'} key = list(d)[0] value = list(d.values())[0] 方法三 d = {'name':'haohao'} key, = d

  • C++ opencv实现在图片上画一条线示例代码

    1 在图片上用鼠标进行操作,opencv主要用到setMouseCallback()函数. winname 窗口名称 onMouse 鼠标事件的回调函数 userdata 传递给回调函数 还有onMouse函数 event 鼠标事件 x,y 鼠标在图片上的坐标 flags 鼠标事件标志 这里有一个容易搞混的地方 void跟void* 在函数的返回值中, void 是没有任何返回值, 而 void * 是返回任意类型的值的指针. 划线还需要用到line()函数 img 图片名称 pt1 线段起点

  • Android使用自定义view在指定时间内匀速画一条直线的实例代码

    本文讲述了Android使用自定义view在指定时间内匀速画一条直线的实例代码.分享给大家供大家参考,具体如下: 1.效果图: 2.自定义view实现 public class UniformLine extends View { private int x, y, nextX, nextY, incrementY, incrementX; public UniformLine(Context context) { super(context); } public UniformLine(Con

  • python matplotlib如何给图中的点加标签

    这篇文章主要介绍了python matplotlib给图中的点加标签,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在写论文用到matplotlib画散点图,想着如果能把每个点对应的ID打在点的旁边就好了,经过一番搜索,最后找到了方法. 首先是打点,先把所有的点画好,举例如下: p1 = ax.scatter(X[:,0], X[:,1], marker = '*', color = 'r', label='1', s=10) 再依次给每个点打

  • Python的Socket编程过程中实现UDP端口复用的实例分享

    关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络程序分配一个随机端口号,这相当于随机绑定了一个端口号,这里只会分配一次,以后通信就以这个随机端口通信,我们再绑定端口号的话,就会绑定失败.如果我们放在发送信息函数( sendto, 或 write )之前绑定,那样程序将以我们绑定的端口号发送信息,不会再随机分配一个端口号.实际上,默认的情况下,如果

  • Python快速转换numpy数组中Nan和Inf的方法实例说明

    在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误.这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值. numpy.nan_to_num(x): 使用0代替数组x中的nan元素,使用有限的数字代替inf元素 使用范例: >>>import numpy as np >>> a = np.array([[np.nan,np.inf],\ ... [-np.nan,-np.inf]]) >>

随机推荐