zoukankan      html  css  js  c++  java
  • 绘制函数图像

    一、必用模块
    import matplotlib.pyplot as plt   #pyplot是matplotlib的模块之一,功能纯粹只能绘图
    import numpy as np   #多数会用到numpy模块计算得到坐标点,比y坐标需要根据x坐标公式计算
     
    有个说法是 import pylab as pl ,相当于将上面的两个import合二为一:
    查看pylab源代码可以发现此文件只有80余行,主要内容就是导入一堆包:包含numpy、matplotlib常用库。
    避免了多个import语句让操作更简洁,创造了一个类似matlab的编程环境,方便matlab用户切换应用平台。
    最大的作用还是方便用户快速计算和绘图,十分适合在IPython交互式环境中使用。即pylab=计算+绘图
     
    还是建议用什么导入什么,即分开导入,忽略pylab。
     
     
    二、绘图风格
    #查看所有的绘图风格
    print plt.style.available   
    输出:
    ['seaborn-darkgrid', 'Solarize_Light2', 'seaborn-notebook', 'classic', 'seaborn-ticks', 'grayscale', 'bmh', 'seaborn-talk', 'dark_background', 'ggplot', 'fivethirtyeight', '_classic_test', 'seaborn-colorblind', 'seaborn-deep', 'seaborn-whitegrid', 'seaborn-bright', 'seaborn-poster', 'seaborn-muted', 'seaborn-paper', 'seaborn-white', 'fast', 'seaborn-pastel', 'seaborn-dark', 'tableau-colorblind10', 'seaborn', 'seaborn-dark-palette']
     
    #设置默认绘图风格
    plt.style.use("classic")  
     
     
    三、显示中文
    1.使用指定的字体文件(修改全局字体设置,非特殊需要不建议用,太麻烦)
    from matplotlib.font_manager import FontProperties 
    font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14)
    plt.title("标题", fontproperties=font)
     
    2.给每个部分分别指定字体(可以不同部分用不同的字体且不影响全局字体设置,字体必须已安装)
    plt.title("标题", fontproperties="SimHei") #   (黑体)
     
    3.修改全局字体设置
    plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
    plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)
    plt.title("标题")
     
    4.和第3种相似(定义格式更丰富)
    font = {'family' : 'SimHei','weight' : 'bold','size'   : '16'}
    plt.rc('font', **font)  # 步骤一(设置字体的更多属性)
    plt.rc('axes', unicode_minus=False) # 步骤二(解决坐标轴负数的负号显示问题)
    plt.title("标题")
     
    5.常用字体的英文简称
    宋体 SimSun
    黑体 SimHei
    华文宋体 STSong
    华文仿宋 STFangsong
     
     
    四、设置图例显示的位置
    plt.legend(loc='best')或者plt.legend(loc=0)
    0 : 'best'   表示自适应方式
    1:'upper right' 
    2:'upper left' 
    3:'lower left' 
    4:'lower right' 
    5:'right' 
    6:'center left' 
    7:'center right'
    8:'lower center' 
    9:'upper center' 
    10:'center'  
     
     
    五、简单示例
    #纯log(x)曲线与含噪点数据比对图像
    import numpy as np
    import matplotlib.pyplot  as plt
    x = np.random.uniform(1, 100, 100) #1~100内任意100个浮点数
    y = np.log(x) + np.random.normal(0, 0.3, 100)#正态分布,均值为0标准差为0.3
     
    plt.scatter(x, y, s=5,c="b", label="log(x) with noise") #s表示颗粒粗度,c表示颜色
    plt.plot(np.arange(1, 100), np.log(np.arange(1, 100)), c="r", label="log(x) true function")
     
    plt.xlabel("x")
    plt.ylabel("f(x) = log(x)")
    plt.legend(loc='best')#图例位置
    plt.title("A Basic Log Function")
    plt.show()
     
     
  • 相关阅读:
    try和catch
    获取地址栏参数(E积分项目)
    正则验证,只能输入数字,每四位隔一个空格。
    E积分项目总结(绑卡页 第一步)
    本地存储localStorage用法详解
    python os 模块介绍
    生成器迭代器
    python 魔法方法
    匿名函数
    python自定义函数和内置函数
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11757206.html
Copyright © 2011-2022 走看看