python中matplotlib的使用技巧

python中matplotlib的使用技巧


代码:

创建Mpl_squares.py

 

#coding:GBK

import matplotlib.pyplot as plt

 

input_values = [1,2,3,4,5]#input_values设置图表x,y起始值为0

squares = [1,4,9,16,25]

plt.plot(input_values,squares,linewidth =5)#linewidth是设置线条的粗细

plt.title("The fitstpic",fontsize = 14)#title设置图表的标题和字体大小

plt.ylabel("Squard ofValue",fontsize = 14)#ylabel设置图表的左标题和字体大小

#设置刻度标记的大小

plt.tick_params(axis='both',labelsize =14)#tick_params设置坐标刻度字体的大小

 

for i in range(len(input_values)):

         plt.scatter(input_values[i],squares[i])

 

plt.show()

 

结果:

python中matplotlib的使用技巧_第1张图片

 

创建Scatter_squares.py

 

#coding:GBK

import matplotlib.pyplot as plt

 

#x_values = [1,2,3,4,5]

#y_values = [1,4,9,16,25]

 

x_values = list(range(1,1001))

y_values = [x**2 for x in x_values]

 

#plt.scatter(x_values,y_values, c =(0,0,0.8), edgecolor='none', s = 40)

plt.scatter(x_values,y_values, c =y_values, cmap = plt.cm.Blues,

         edgecolor='none',s = 40)

 

#设置图表标题并给坐标轴加上标签

plt.title("SquareNumbers",fontsize = 24)

plt.xlabel("Value",fontsize = 14)

plt.ylabel("Square of Value" ,fontsize = 14)

#设置刻度标记的大小

plt.tick_params(axis = 'both' , which ='major', labelsize = 14) 

#设置每个坐标轴的取值范围

plt.axis([0,1100,0,1100000]) 

plt.show() 

plt.savefig('squares_plot.png',bbox_inches='tight')

结果:

python中matplotlib的使用技巧_第2张图片




创建类:

Random_walk.py

 

#coding:GBK

from random import choice

 

class RandomWalk():

         """一个生成随机漫步数据的类"""

        

         def__init__(self,num_points = 5000):

                   """初始化随机漫步的属性"""

                   self.num_points= num_points

                  

                   #所有随机漫步都始于(0,0)

                   self.x_values=[0]

                   self.y_values=[0]

 

         deffill_walk(self):

                   """计算随机漫步包含的所有点"""

                  

                   #不断漫步,知道列表达到指定的长度

                   whilelen(self.x_values) < self.num_points:

                           

                            #决定前进方向以及沿这个方向前进的距离

                           

                            x_direction= choice([1,-1])

                            x_distance= choice([0,1,2,3,4])

                            x_step= x_direction * x_distance

                           

                           

                            y_direction= choice([1,-1])

                            y_distance= choice([0,1,2,3,4])

                            y_step= y_direction * y_distance

                           

                           

                            #拒绝原地踏步

                            ifx_step == 0 and y_step == 0:

                                     continue

                                    

                            #计算下一个点的x 和 y 值

                           

                            next_x= self.x_values[-1] + x_step

                            next_y= self.y_values[-1] + y_step

                           

                            self.x_values.append(next_x)

                            self.y_values.append(next_y)

                           

 

创建rw_visual.py

#coding:GBK

import matplotlib.pyplot as plt

 

from random_walk import RandomWalk

 

 

#只要程序处于活动状态,就不断地模拟随机漫步

while True:

         #创建一个RandomWalk实例,并将其包含的点都绘制出来

         rw= RandomWalk(5000)

         rw.fill_walk()

        

         #设置绘图窗口的尺寸

         plt.figure(dpi=128,figsize=(10,6))

        

         point_numbers= list(range(rw.num_points))

         plt.scatter(rw.x_values,rw.y_values,c = point_numbers,cmap=plt.cm.Blues,

                   edgecolor='none',s=1)

                  

         #突出起点和终点

         plt.scatter(0,0,c='green',edgecolors='none',s=100)

         plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolors='none',

                            s=100)

        

         plt.axes().get_xaxis().set_visible(False)

         plt.axes().get_yaxis().set_visible(False)

                  

         plt.show()

 

         keep_running= input("Make another walk? (y/n): ")

         ifkeep_running == 'n':

                   break

 

 

结果:

python中matplotlib的使用技巧_第3张图片

你可能感兴趣的:(Python)