zoukankan      html  css  js  c++  java
  • Python学习笔记-matplotlib

            一、安装matplotlib

            利用pip安装,在命令行中输入

    pip install matplotlib

            pip就会自动下载matplotlib。下载完成后进入python的交互模式,输入

    import matplotlib
    

      如果没有出现错误信息,表明安装成功。

            二、绘制折线图和散点图

     1 import matplotlib.pyplot as plt
     2 
     3 input_values=[1,2,3,4,5]
     4 squares=[1,4,9,16,25]
     5 plt.plot(input_values,squares,linewidth=5)
     6 
     7 #set title and label
     8 plt.title('Square Numbers',fontsize=24)
     9 plt.xlabel('Value',fontsize=14)
    10 plt.ylabel('Square of Value',fontsize=14)
    11 
    12 #scale size
    13 plt.tick_params(axis='both',labelsize=14)
    14 plt.show()

            绘制散点图,并让点的颜色渐变

    import matplotlib.pyplot as plt
    
    x_values=list(range(1,1001))
    y_values=[x**2 for x in x_values]
    
    plt.scatter(x_values,y_values,s=40)
    #set title and label
    plt.title('Square Numbers',fontsize=24)
    plt.xlabel('Value',fontsize=14)
    plt.ylabel('Square of value',fontsize=14)
    
    #set scale
    plt.tick_params(axis='both',which='major',labelsize=14)
    
    plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor='none',s=40)
    
    plt.axis([0,1100,0,1100000])
    
    plt.show()
    # ~ plt.savefig('squares_plot.png',bbox_inches='tight')

            三、随机漫步

            1、创建RandomWalk()类

     1 from random import choice
     2 
     3 class RandomWalk():
     4     
     5     def __init__(self,num_points=5000):
     6         self.num_points=num_points
     7         
     8         #all random walk from (0,0)
     9         self.x_values=[0]
    10         self.y_values=[0]
    11         
    12     def fill_walk(self):
    13         
    14         while len(self.x_values)<self.num_points:
    15             x_direction=choice([1,-1])
    16             x_distance=choice([0,1,2,3,4])
    17             x_step=x_direction*x_distance
    18             
    19             y_direction=choice([1,-1])
    20             y_distance=choice([0,1,2,3,4])
    21             y_step=y_direction*y_distance
    22             
    23             if x_step==0 and y_step==0:
    24                 continue
    25                 
    26             next_x=self.x_values[-1]+x_step
    27             next_y=self.y_values[-1]+y_step
    28             
    29             self.x_values.append(next_x)
    30             self.y_values.append(next_y)
    random_walk.py

            2、绘制随机漫步图

     1 import matplotlib.pyplot as plt
     2 
     3 from random_walk import RandomWalk
     4 
     5 while True:
     6     rw=RandomWalk(50000)
     7     rw.fill_walk()
     8     
     9     point_numbers=list(range(rw.num_points))
    10     plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,
    11         edgecolor='none',s=1)
    12     
    13     plt.scatter(0,0,c='green',edgecolors='none',s=100)
    14     plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolors='none',
    15         s=100)
    16     
    17     plt.axes().get_xaxis().set_visible(False)
    18     plt.axes().get_yaxis().set_visible(False)
    19     
    20     plt.show()
    21 
    22     keep_running=input('Make another walk?(y/n): ')
    23     if keep_running=='n':
    24         break
    rw_visual.py

            待解决的问题,matplotlib不支持中文和中文注释。

  • 相关阅读:
    前端基础进阶(四)-让你一分钟就看懂的作用域和作用域链
    前端基础进阶(三)-史上最详细的变量对象详解
    前端基础进阶(二)-知识点解析最精炼最详细
    前端基础进阶(一):内存空间详解-月薪5万
    知道这20个前端正则表达式,能让你做项目时少写1000行甚至一万行,真的
    学习web前端的免费12个学习网站,等你来撩
    一个老牌程序员推荐的JavaScript的书籍,看了真的不后悔!
    零基础的同学看过来,如何系统学习前端
    这是那些大佬程序员常用的学习java网站,这就是别人薪资上万的原因
    Debug outlook add-in (office.js) 小技巧
  • 原文地址:https://www.cnblogs.com/Kammuri/p/8352033.html
Copyright © 2011-2022 走看看