Python matplotib 畫圖


使用Python 程序來生成可視化圖像,具有明確的表達性。Matplotlib 里的常用類的包含關系為 Figure -> Axes -> (Line2D, Text, etc.)一個Figure對象可以包含多個子圖(Axes),在matplotlib中用Axes對象表示一個繪圖區域,可以理解為子圖。

demo1:曲線圖和直線圖

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 1.01, 0.01)
s = np.sin(2*2*np.pi*t)

plt.fill(t, s*np.exp(-5*t), 'r')
plt.grid(True)

#保存為PDF格式,也可保存為PNG等圖形格式
plt.savefig('test.png')
plt.show()
View Code

 

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,1000)
y=np.sin(x)
z=np.cos(x**2)

plt.figure(figsize=(8,4))


plt.plot(x,y,label='$sin(x)$',color='red',linewidth=2)

plt.plot(x,z,'g--',label='$cos(x^2)$',lw=3)

plt.xlabel('Time(s)')
plt.ylabel('volt')
plt.title('First python firgure')
plt.ylim(-1.2,1.2)
plt.legend()
plt.savefig("test.png")
plt.show()
View Code

 

import numpy as np
import matplotlib.pyplot as plt


# A class that will downsample the data and recompute when zoomed.
class DataDisplayDownsampler(object):
    def __init__(self, xdata, ydata):
        self.origYData = ydata
        self.origXData = xdata
        self.ratio = 5
        self.delta = xdata[-1] - xdata[0]

    def downsample(self, xstart, xend):
        # Very simple downsampling that takes the points within the range
        # and picks every Nth point
        mask = (self.origXData > xstart) & (self.origXData < xend)
        xdata = self.origXData[mask]
        xdata = xdata[::self.ratio]

        ydata = self.origYData[mask]
        ydata = ydata[::self.ratio]

        return xdata, ydata

    def update(self, ax):
        # Update the line
        lims = ax.viewLim
        if np.abs(lims.width - self.delta) > 1e-8:
            self.delta = lims.width
            xstart, xend = lims.intervalx
            self.line.set_data(*self.downsample(xstart, xend))
            ax.figure.canvas.draw_idle()

# Create a signal
xdata = np.linspace(16, 365, 365-16)
ydata = np.sin(2*np.pi*xdata/153) + np.cos(2*np.pi*xdata/127)

d = DataDisplayDownsampler(xdata, ydata)

fig, ax = plt.subplots()

# Hook up the line
d.line, = ax.plot(xdata, ydata, 'o-')
ax.set_autoscale_on(False)  # Otherwise, infinite loop

# Connect for changing the view limits
ax.callbacks.connect('xlim_changed', d.update)
plt.savefig("test.png")
plt.show()
View Code

含有鼠標線

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Cursor

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2 * np.pi * t)
plt.plot(t, s1)

cursor = Cursor(plt.gca(), horizOn=True, color='r', lw=1)
plt.savefig("test.png")
plt.show()
View Code

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import MultiCursor

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(4*np.pi*t)
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.plot(t, s1)


ax2 = fig.add_subplot(212, sharex=ax1)
ax2.plot(t, s2)

multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1)
plt.show()
View Code

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1) # 創建圖表1
plt.figure(2) # 創建圖表2
ax1 = plt.subplot(211) # 在圖表2中創建子圖1
ax2 = plt.subplot(212) # 在圖表2中創建子圖2
x = np.linspace(0, 3, 100)
for i in xrange(5):
    plt.figure(1)  #❶ # 選擇圖表1
    plt.plot(x, np.exp(i*x/3))
    plt.sca(ax1)   #❷ # 選擇圖表2的子圖1
    plt.plot(x, np.sin(i*x))
    plt.sca(ax2)  # 選擇圖表2的子圖2
    plt.plot(x, np.cos(i*x))
plt.savefig("test.png")
plt.show()
View Code

#-*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1) # 創建圖表1
plt.figure(2) # 創建圖表2
ax1 = plt.subplot(211) # 在圖表2中創建子圖1
ax2 = plt.subplot(212) # 在圖表2中創建子圖2
x = np.linspace(0, 3, 100)
for i in xrange(5):
    plt.figure(1)  #❶ # 選擇圖表1
    plt.plot(x, np.exp(i*x/3))
    plt.sca(ax1)   #❷ # 選擇圖表2的子圖1
    plt.plot(x, np.sin(i*x))
    plt.sca(ax2)  # 選擇圖表2的子圖2
    plt.plot(x, np.cos(i*x))
plt.show()
View Code

含有公式:

import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)

plt.plot(t,s)
plt.title(r'$\alpha_i > \beta_i$', fontsize=20)
plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20)
plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$',
         fontsize=20)
plt.xlabel('time (s)')
plt.ylabel('volts (mV)')
plt.show()
View Code

#################################
#-*- coding: utf-8 -*-
#     File name   :5.py
#     Author      :kangkangliang
#     File desc   :
#     Mail        :liangkangkang@yahoo.com
#     Create time :2017-06-11
#################################
#!/usr/bin/env python
import os
import numpy as np
import matplotlib.pyplot as plt
import sys
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,2,3,4,5,6,7,8,9,10]
plt.plot(x,y)
plt.text(2, 8, r"$ \mu \alpha \tau \pi \lambda \omega \tau \lambda \iota \beta $",fontsize=20);
plt.text(2, 6, r"$ \lim_{x \rightarrow 0} \frac{1}{x} $",fontsize=20);
plt.text(2, 4, r"$ a \ \leq \ b \ \leq \ c \ \Rightarrow \ a \ \leq \ c$",fontsize=20);
plt.text(2, 2, r"$ \sum_{i=1}^{\infty}\ x_i^2$",fontsize=20);
plt.text(4, 8, r"$ \sin(0) = \cos(\frac{\pi}{2})$",fontsize=20);
plt.text(4, 6, r"$ \sqrt[3]{x} = \sqrt{y}$",fontsize=20);
plt.text(4, 4, r"$ \neg (a \wedge b) \Leftrightarrow \neg a \vee \neg b$",fontsize=20);
plt.text(4, 2, r"$ \int_a^b f(x)dx$",fontsize=20);
plt.xlabel('time (s)')
plt.ylabel('volts (mV)')
plt.show()
View Code

import numpy as np
import pylab as pl
data = np.loadtxt('testdata.txt')
# plot the first column as x, and second column as y
pl.plot(data[:,0], data[:,1], 'ro')
pl.xlabel('x')
pl.ylabel('y')
pl.xlim(0.0, 10.)
pl.show()
View Code

import numpy as np
import matplotlib.pyplot as plt
x1 = [1, 2, 3, 4, 5]# Make x, y arrays for each graph
y1 = [1, 4, 9, 16, 25]
x2 = [1, 2, 4, 6, 8]
y2 = [2, 4, 8, 12, 16]
pltot1 = plt.plot(x1, y1, 'r')# use pylab to plot x and y : Give your plots names
pltot2 = plt.plot(x2, y2, 'go')
plt.title('Plot of y vs. x')# give plot a title
plt.xlabel('x axis')# make axis labels
plt.ylabel('y axis')
plt.xlim(0.0, 9.0)# set axis limits
plt.ylim(0.0, 30.)
# plt.legend([plot1, plot2], ('red line', 'green circles'), 'best', numpoints=1)# make legend
plt.legend(('red line','green circles'))
plt.show()# show the plot on the screen
View Code

import numpy as np
import pylab as plt
x1 = [1, 2, 3, 4, 5]# Make x, y arrays for each graph
y1 = [1, 4, 9, 16, 25]
x2 = [1, 2, 4, 6, 8]
y2 = [2, 4, 8, 12, 16]
plt.plot(x1, y1, 'r')# use pylab to plot x and y
plt.plot(x2, y2, 'g')
plt.title('Plot of y vs. x')# give plot a title
plt.xlabel('x axis')# make axis labels
plt.ylabel('y axis')
plt.xlim(0.0, 9.0)# set axis limits
plt.ylim(0.0, 30.)
plt.show()# show the plot on the screen
View Code

#################################
#-*- coding: utf-8 -*-
#     File name   :demo.py
#     Author      :kangkangliang
#     File desc   :
#     Mail        :liangkangkang@yahoo.com
#     Create time :2017-06-11
#################################
#!/usr/bin/env python
import os
import numpy as np
import matplotlib.pyplot as plt
import sys

x = np.arange(0.0, 10.0, 1.0)
y1 = x*2
y2 = x + 2
y3 = x*3
# color rgbyck
# b blue
# r green
# r red
# c cyan
# m magenta
# y yellow
# k black
# white
# 散點圖
plt.plot(x,y1,'or')
# 折線圖
plt.plot(x,y2)
# 虛線
plt.plot(x,y3,'--')
plt.show()
View Code

import matplotlib.pyplot as plt
X1 = range(0, 50)
Y1 = [num**2 for num in X1] # y = x^2
X2 = [0, 1]
Y2 = [0, 1]  # y = x
Fig = plt.figure(figsize=(8,4))                      # Create a `figure' instance
Ax = Fig.add_subplot(111)               # Create a `axes' instance in the figure
Ax.plot(X1, Y1, X2, Y2)                 # Create a Line2D instance in the axes
Fig.show()
Fig.savefig("test.png"
View Code

import numpy as np
import pylab as pl
x = [1, 2, 3, 4, 5]# Make an array of x values
y = [1, 4, 9, 16, 25]# Make an array of y values for each x value
pl.plot(x, y)# use pylab to plot x and y
pl.show()# show the plot on the screen
View Code

#!/usr/bin/env python
import matplotlib.pyplot as plt

plt.plot([10, 20, 30])
plt.xlabel('times')
plt.ylabel('numbers')
plt.savefig("test.png")
plt.show()
View Code

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties()

plt.figure()
plt.title('this is title')
plt.xlabel('x label')
plt.ylabel('y label')
plt.axis([0, 25, 0, 25])
plt.grid(True)
x = [[1],[2],[3],[4],[5],[6]]
y = [[1],[2.1],[2.9],[4.2],[5.1],[5.8]]
plt.plot(x, y, 'k.')
plt.savefig('test.png')
plt.show()
View Code

from math import pi
from numpy import cos, sin
from matplotlib import pyplot as plt

if __name__ == '__main__':
    '''''plot data margin'''
    angles_circle = [i*pi/180 for i in range(0,360)]                 #i先轉換成double
    #angles_circle = [i/np.pi for i in np.arange(0,360)]             # <=>
    # angles_circle = [i/180*pi for i in np.arange(0,360)]    X
    x = cos(angles_circle)
    y = sin(angles_circle)
    plt.plot(x, y, 'r')

    plt.axis('equal')
    plt.axis('scaled')
    plt.savefig("test.png")
    plt.show()
View Code

import numpy as np
import matplotlib.pyplot as plt

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses
color = 2 * np.pi * np.random.rand(N)
plt.scatter(x, y, s=area, c=color, alpha=0.5, cmap=plt.cm.hsv)
plt.savefig("test.png")
plt.show()
View Code

多個圖:

import numpy as np
import matplotlib.pyplot as plt
t = np.arange(-1, 2, .01)
s = np.sin(2 * np.pi * t)

plt.plot(t,s)
# draw a thick red hline at y=0 that spans the xrange
l = plt.axhline(linewidth=4, color='r')
plt.axis([-1, 2, -1, 2])
plt.show()
plt.close()

# draw a default hline at y=1 that spans the xrange
plt.plot(t,s)
l = plt.axhline(y=1, color='b')
plt.axis([-1, 2, -1, 2])
plt.show()
plt.close()

# draw a thick blue vline at x=0 that spans the upper quadrant of the yrange
plt.plot(t,s)
l = plt.axvline(x=0, ymin=0, linewidth=4, color='b')
plt.axis([-1, 2, -1, 2])
plt.show()
plt.close()

# draw a default hline at y=.5 that spans the the middle half of the axes
plt.plot(t,s)
l = plt.axhline(y=.5, xmin=0.25, xmax=0.75)
plt.axis([-1, 2, -1, 2])
plt.show()
plt.close()

plt.plot(t,s)
p = plt.axhspan(0.25, 0.75, facecolor='0.5', alpha=0.5)
p = plt.axvspan(1.25, 1.55, facecolor='g', alpha=0.5)
plt.axis([-1, 2, -1, 2])
# plt.show()
# plt.savefig('test.png')
View Code

對數圖:

import numpy as np
import matplotlib.pyplot as plt

w = np.linspace(0.1, 1000, 1000)
p = np.abs(1/(1+0.1j*w))
plt.subplot(221)
plt.plot(w, p, linewidth=2)
plt.ylim(0,1.5)

plt.subplot(222)
plt.semilogx(w, p, linewidth=2)
plt.ylim(0,1.5)

plt.subplot(223)
plt.semilogy(w, p, linewidth=2)
plt.ylim(0,1.5)

plt.subplot(224)
plt.loglog(w, p, linewidth=2)
plt.ylim(0,1.5)
plt.savefig("test.png")
plt.show()
View Code

import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
import scipy.io
import numpy as np
# params={
    # 'axes.labelsize': '35',
    # 'xtick.labelsize':'27',
    # 'ytick.labelsize':'27',
    # 'lines.linewidth':2 ,
    # 'legend.fontsize': '27',
    # 'figure.figsize'   : '12, 9'    # set figure size
# }
# pylab.rcParams.update(params)            #set figure parameter
line_styles=['ro-','b^-','gs-','ro--','b^--','gs--']  #set line style

#We give the coordinate date directly to give an example.
x1 = [-20,-15,-10,-5,0,0,5,10,15,20]
y1 = [0,0.04,0.1,0.21,0.39,0.74,0.78,0.80,0.82,0.85]
y2 = [0,0.014,0.03,0.16,0.37,0.78,0.81,0.83,0.86,0.92]
y3 = [0,0.001,0.02,0.14,0.34,0.77,0.82,0.85,0.90,0.96]
y4 = [0,0,0.02,0.12,0.32,0.77,0.83,0.87,0.93,0.98]
y5 = [0,0,0.02,0.11,0.32,0.77,0.82,0.90,0.95,1]


plt.plot(x1,y1,'bo-',label='m=2, p=10%',markersize=20) # in 'bo-', b is blue, o is O marker, - is solid line and so on
plt.plot(x1,y2,'gv-',label='m=4, p=10%',markersize=20)
plt.plot(x1,y3,'ys-',label='m=6, p=10%',markersize=20)
plt.plot(x1,y4,'ch-',label='m=8, p=10%',markersize=20)
plt.plot(x1,y5,'mD-',label='m=10, p=10%',markersize=20)



fig1 = plt.figure(1)
axes = plt.subplot(111)
#axes = plt.gca()
axes.set_yticks([0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0])
axes.grid(True)  # add grid

plt.legend(loc="lower right")  #set legend location
plt.ylabel('Percentage')   # set ystick label
plt.xlabel('Difference')  # set xstck label

plt.savefig('test.png',dpi = 1000,bbox_inches='tight')
plt.show()
View Code

demo2:餅圖

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pylab import *

# make a square figure and axes
figure(1, figsize=(6,6))
ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15,30,45, 10]

explode=(0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor':'0.8', 'pad':5})
savefig('pie.png')
show()
View Code

import matplotlib.pyplot as plt
for idx,color in enumerate('rgbyck'):
    plt.subplot(321+idx,axisbg=color)
plt.savefig("test.png")
plt.show()
View Code

 

demo3:柱狀圖

import scipy.io
import numpy as np
import matplotlib.pylab as pylab
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
# params={
    # 'axes.labelsize': '35',
    # 'xtick.labelsize':'27',
    # 'ytick.labelsize':'27',
    # 'lines.linewidth':2 ,
    # 'legend.fontsize': '27',
    # 'figure.figsize'   : '24, 9'
# }
# pylab.rcParams.update(params)


y1 = [9.79,7.25,7.24,4.78,4.20]
y2 = [5.88,4.55,4.25,3.78,3.92]
y3 = [4.69,4.04,3.84,3.85,4.0]
y4 = [4.45,3.96,3.82,3.80,3.79]
y5 = [3.82,3.89,3.89,3.78,3.77]



ind = np.arange(5)                # the x locations for the groups
width = 0.15
plt.bar(ind,y1,width,color = 'blue',label = 'm=2')
plt.bar(ind+width,y2,width,color = 'g',label = 'm=4') # ind+width adjusts the left start location of the bar.
plt.bar(ind+2*width,y3,width,color = 'c',label = 'm=6')
plt.bar(ind+3*width,y4,width,color = 'r',label = 'm=8')
plt.bar(ind+4*width,y5,width,color = 'm',label = 'm=10')
plt.xticks(np.arange(5) + 2.5*width, ('10%','15%','20%','25%','30%'))

plt.xlabel('Sample percentage')
plt.ylabel('Error rate')

fmt = '%.0f%%' # Format you want the ticks, e.g. '40%'
xticks = mtick.FormatStrFormatter(fmt)
# Set the formatter
axes = plt.gca()   # get current axes
axes.yaxis.set_major_formatter(xticks) # set % format to ystick.
axes.grid(True)
plt.legend(loc="upper right")
plt.savefig('test.png', format='png',dpi = 1000,bbox_inches='tight')

plt.show()
View Code

 

import numpy as np
import matplotlib.pyplot as plt
# make an array of random numbers with a gaussian distribution with
# mean = 5.0
# rms = 3.0
# number of points = 1000
data = np.random.normal(5.0, 3.0, 1000)
# make a histogram of the data array
plt.hist(data)
# make plot labels
plt.xlabel('data')
plt.show()
View Code

去掉中間的黑線

#-*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
# make an array of random numbers with a gaussian distribution with
# mean = 5.0
# rms = 3.0
# number of points = 1000
data = np.random.normal(5.0, 3.0, 1000)
# make a histogram of the data array
# pl.hist(data)
plt.hist(data,histtype='stepfilled')
# make plot labels
plt.xlabel('data')
plt.show()
View Code

#-*- coding: utf-8 -*-
import numpy as np
import pylab as pl
# make an array of random numbers with a gaussian distribution with
# mean = 5.0
# rms = 3.0
# number of points = 1000
data = np.random.normal(5.0, 3.0, 1000)
# make a histogram of the data array
bins = np.arange(-5., 16., 1.) #浮點數版本的range
pl.hist(data, bins, histtype='stepfilled')
# pl.hist(data)
# make plot labels
pl.xlabel('data')
pl.show()
View Code

demo4:網狀圖

import networkx as nx
import pylab as plt
g = nx.Graph()
g.add_edge(1,2,weight = 4)
g.add_edge(1,3,weight = 7)
g.add_edge(1,4,weight = 8)
g.add_edge(1,5,weight = 3)
g.add_edge(1,9,weight = 3)
 
g.add_edge(1,6,weight = 6)
g.add_edge(6,7,weight = 7)
g.add_edge(6,8,weight = 7) 
 
g.add_edge(6,9,weight = 6)
g.add_edge(9,10,weight = 7)
g.add_edge(9,11,weight = 6)
 
 
 
fixed_pos = {1:(1,1),2:(0.7,2.2),3:(0,1.8),4:(1.6,2.3),5:(2,0.8),6:(-0.6,-0.6),7:(-1.3,0.8), 8:(-1.5,-1), 9:(0.5,-1.5), 10:(1.7,-0.8), 11:(1.5,-2.3)} #set fixed layout location
 
 
 
#pos=nx.spring_layout(g) # or you can use other layout set in the module
nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[1,2,3,4,5],
node_color = 'g',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(1,2),(1,3),(1,4),(1,5),(1,9)],edge_color='g',width = [4.0,4.0,4.0,4.0,4.0],label = [1,2,3,4,5],node_size = 600)
 
 
nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[6,7,8],
node_color = 'r',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,7),(6,8),(1,6)],width = [4.0,4.0,4.0],edge_color='r',node_size = 600)
 
nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[9,10,11],
node_color = 'b',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,9),(9,10),(9,11)],width = [4.0,4.0,4.0],edge_color='b',node_size = 600)
 
plt.text(fixed_pos[1][0],fixed_pos[1][1]+0.2, s = '1',fontsize = 40)
plt.text(fixed_pos[2][0],fixed_pos[2][1]+0.2, s = '2',fontsize = 40)
plt.text(fixed_pos[3][0],fixed_pos[3][1]+0.2, s = '3',fontsize = 40)
plt.text(fixed_pos[4][0],fixed_pos[4][1]+0.2, s = '4',fontsize = 40)
plt.text(fixed_pos[5][0],fixed_pos[5][1]+0.2, s = '5',fontsize = 40)
plt.text(fixed_pos[6][0],fixed_pos[6][1]+0.2, s = '6',fontsize = 40)
plt.text(fixed_pos[7][0],fixed_pos[7][1]+0.2, s = '7',fontsize = 40)
plt.text(fixed_pos[8][0],fixed_pos[8][1]+0.2, s = '8',fontsize = 40)
plt.text(fixed_pos[9][0],fixed_pos[9][1]+0.2, s = '9',fontsize = 40)
plt.text(fixed_pos[10][0],fixed_pos[10][1]+0.2, s = '10',fontsize = 40)
plt.text(fixed_pos[11][0],fixed_pos[11][1]+0.2, s = '11',fontsize = 40)
 
plt.show()
View Code

從文件中讀取數據來畫圖

cat testdata.txt

0.0    0.0 
1.0    1.0 
2.0    4.0 
3.0    9.0 
4.0    16.0 
5.0    25.0 
6.0    36.0 
7.0    49.0 
8.0    64.0 
9.0    81.0
View Code
import numpy as np
import matplotlib.pyplot as plt
# Use numpy to load the data contained in the file
# testdata.txt into a 2-D array called data
data = np.loadtxt('testdata.txt')
# plot the first column as x, and second column as y
plt.plot(data[:,0], data[:,1], 'ro')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(0.0, 10.)
plt.show()
View Code

寫入數據到文件

import numpy as np
# Let's make 2 arrays (x, y) which we will write to a file
# x is an array containing numbers 0 to 10, with intervals of 1
x = np.arange(0.0, 10., 1.)
# y is an array containing the values in x, squared
y = x*x
print 'x = ', x
print 'y = ', y
# Now open a file to write the data to
# 'w' means open for 'writing'
file = open('testdata.txt', 'w')
# loop over each line you want to write to file
for i in range(len(x)):
    # make a string for each line you want to write
    # 'str()' means you are converting the quantity in brackets to a string type
    txt = str(x[i]) + '\t' + str(y[i]) + ' \n'
    # write the txt to the file
    file.write(txt)
# Close your file
file.close()
View Code

參考:

http://hyry.dip.jp/tech/book/page/scipy/matplotlib_fast_plot.html

http://reverland.org/python/2012/09/07/matplotlib-tutorial/

matplotlib中文翻譯

http://hyry.dip.jp/tech/book/page/scipy/matplotlib.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM