精华内容
下载资源
问答
  • python matplotlib 画图

    千次阅读 2017-07-06 23:24:48
    python matplotlib 画图author@jason_ql(lql0716) http://blog.csdn.net/lql07161、代码# -*- coding: utf-8 -*- """ Created on Thu Jul 06 21:59:39 2017@author: lql0716 """import numpy as np import ...

    python matplotlib 画图


    author@jason_ql(lql0716)
    http://blog.csdn.net/lql0716


    1、代码

    # -*- coding: utf-8 -*-
    """
    Created on Thu Jul 06 21:59:39 2017
    
    @author: lql0716
    """
    
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(-20,20)  #自变量x
    y = x**2  #变量y
    
    plt.figure(num = 3, figsize = (8, 12), dpi = 100) #设置画图的图片的大小,figsize大概为厘米尺寸,分辨率dpi
    
    plt.plot(x, y, 'r*', label = 'line', linewidth = 3)
    plt.title('Function')  # 标题
    plt.xlabel('x (cm)')  # x轴的名称
    plt.ylabel('y (cm)')  # y轴的名称
    
    xt = np.arange(-20,20, 10) #设置x轴刻度步长
    plt.xticks(xt)
    yt = np.arange(0, 400, 20) #设置y轴刻度步长
    plt.yticks(yt)
    
    
    plt.legend(loc = 0) #参数loc,设置label在图中的位置,含义如下
    #'best'         : 0, (only implemented for axes legends)(自适应方式)
    #'upper right'  : 1,
    #'upper left'   : 2,
    #'lower left'   : 3,
    #'lower right'  : 4,
    #'right'        : 5,
    #'center left'  : 6,
    #'center right' : 7,
    #'lower center' : 8,
    #'upper center' : 9,
    #'center'       : 10,
    
    plt.grid(True)  #True表示显示网格线,其它参数linestyle 设置线显示的类型(一共四种), color 设置网格的颜色, linewidth 设置网格的宽度
    #plt.grid(True, linestyle = "-.", color = "r", linewidth = "3")  
    plt.savefig("D:/photo/1-1.jpg")  #保存绘制的图片
    plt.show()    

    2、效果图

    这里写图片描述

    展开全文
  • Python matplotlib画图

    千次阅读 2018-10-29 16:22:14
    利用Python matplotlib包来画图 Python matplotlib包可以画各种类型的图,功能非常齐全。 # 曲线图:matplotlib.pyplot.plot # 柱状图:matplotlib.pyplot.hist # 散点图:matplotlib.pyplot.scatter # 箱式图:...

    利用Python matplotlib包来画图

    Python matplotlib包可以画各种类型的图,功能非常齐全。

    # 曲线图:matplotlib.pyplot.plot
    # 柱状图:matplotlib.pyplot.hist
    # 散点图:matplotlib.pyplot.scatter
    # 箱式图:matplotlib.pyplot.boxplot
    
    import matplotlib as mpl
    from matplotlib import pyplot as plt
    import seaborn as sns
    import pandas as pd
    
    #曲线图实例
    data = pd.read_csv('/data.csv', encoding = 'gbk')		#数据中有中文字符时,读取要加gbk
    x = np.arange(30) + 1
    y = data.iloc[0][1:31]
    plt.plot(x,y, color = 'blue',linewidth = 1.5, linestyle = '-',marker = '.',label = 'mean')
    
    #坐标轴设置
    ax = plt.subplot(111)
    ax.spines['right'].set_color('none')        #去掉右边的边框线
    ax.spines['top'].set_color('none')          #去掉上边的边框线
    
    #X轴从底部向上移动
    ax.xaxis.set_ticks_position('bottom')
    ax.spines['bottom'].set_position(('data',23))
    
    #Y轴从左边向右边移动
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data',0))
    
    #设置横纵坐标的取值范围
    plt.xlim(x.min()*0.9, x.max()*1.1)
    plt.ylim(y.min()*0.9, y.max()*1.1)
    
    #设置横纵坐标的刻度值
    plt.xticks([0,5,10,15,20,25,30],['0','5','10','15','20','25','30'])
    plt.yticks([25,30,35,40,45],['25','30','35','40','45'])
    
    #特殊点添加注解
    plt.scatter([23,],[y[22],],50,color = 'blue')       #需要注解的点的位置,放大该点
    plt.annotate('holiday', xy= (23,y[22]),xytext = (24,30.2), fontsize = 14, color = 'm', arrowprops = dict(arrowstyle = '->',
            connectionstyle = 'arc3, rad = 0.1',color = 'm'))       #给该点进行注解,先设置注解箭头的位置,然后设置注解的位置
    
    #设置标题,横纵轴的名称
    plt.title('Title', fontsize = 12)
    plt.xlabel('Time',fontsize = 12, labelpad = 6)
    plt.ylabel('Numble',fontsize = 12, labelpad = 6)
    
    #设置图例及位置
    plt.legend(loc = 'best')
    
    #显示网格线
    plt.grid(True)
    
    plt.show()
    
    #柱状图
    # x = np.random.normal(size=1000)
    # plt.hist(x, bins=10)        #bins设置柱状图中柱的数量
    # plt.show()
    
    #散点图
    # x = np.random.normal(size=1000)
    # y = np.random.normal(size=1000)
    # plt.scatter(x,y)
    # plt.show()
    
    #箱式图
    # x = np.random.normal(size=1000)
    # plt.boxplot(x)      #分布情况,异常点等
    # plt.show()
    

    根据自己的需求更改设置,不需要的可以去掉。

    展开全文
  • 图例的字体格式在prop中进行设置,赋值font1可以是一个字典,包含各个属性及其对应值,属性包括family(字体)、size(字体大小)等常用属性,更详细的解释可参考matplotlib手册中关于 legend prop 的解释。   ...

    设置输出的图片大小:

     

    figsize = 11,9
    figure, ax = plt.subplots(figsize=figsize)

     

     

     

    画简单的折线图,同时标注线的形状、名称、粗细:

     

    A,=plt.plot(x1,y1,'-r',label='A',linewidth=5.0,ms=10)

     

    其中线条样式以及颜色设置可参考:https://blog.csdn.net/code_segment/article/details/79217700,个人觉得介绍非常详尽。

    线条粗细使用linewidth设置,对应线条上的marker大小设置为ms参数。因为有时候粗线条,所以对应marker大小也需要增加。

    如果想要标记marker为空心,可以在后面加上 markerfacecolor='none'

     

    设置图例以及对应属性:

     

    legend = plt.legend(handles=[A,B],prop=font1)

    图例的字体格式在prop中进行设置,赋值font1可以是一个字典,包含各个属性及其对应值,属性包括family(字体)、size(字体大小)等常用属性,更详细的解释可参考matplotlib手册中关于legend prop的解释。

     


    一种比较简单的设置为:

     

    font1 = {'family' : 'Times New Roman',
    'weight' : 'normal',
    'size'   : 23,
    }

     

    坐标轴刻度密度/间隔设置:

    ax.xaxis.set_major_locator(MultipleLocator(10))

    括号中的数字为对应的刻度间隔值,y轴对应类似。

     

    坐标轴刻度值属性设置:

     

    plt.tick_params(labelsize=23)
    labels = ax.get_xticklabels() + ax.get_yticklabels()
    [label.set_fontname('Times New Roman') for label in labels]

    其中tick_params中可设置一系列属性,包括刻度值字体大小、方向、大小,颜色等一系列属性,具体可参见手册中关于tick_params的解释。

     

    比较特殊的是,其中并没有对刻度值的字体进行设置的属性,所以我们需要使用下面两行进行设置,在最初使用plt.subplots中有得到一个返回值ax,我们使用ax.get_xticklabels()以及ax.get_yticklabels()来得到所有的刻度值,并使用set_fontname函数来设置属性。

     

    坐标轴名称以及对应字体属性设置:

     

    plt.xlabel('round',font2)
    plt.ylabel('value',font2)

    这种比较简单,第一个参数为坐标轴名称,第二个参数也是一个字典参数,和上文提及的dict font1格式相同。

     

    有时候,因为调整了坐标刻度的字体大小,影响了坐标轴label的显示。所以我们需要通过调整坐标轴边距来显示label

    plt.subplots_adjust(left = 0.15,bottom=0.128)

    下面我们给出一个比较简单的画图过程:

     

    #--coding:utf-8--
    import  matplotlib.pyplot as plt
    
    #数据设置
    x1 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
    y1=[0, 223, 488, 673, 870, 1027, 1193, 1407, 1609, 1791, 2113, 2388];
    
    x2 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
    y2=[0, 214, 445, 627, 800, 956, 1090, 1281, 1489, 1625, 1896, 2151];
    
    #设置输出的图片大小
    figsize = 11,9
    figure, ax = plt.subplots(figsize=figsize)
    
    #在同一幅图片上画两条折线
    A,=plt.plot(x1,y1,'-r',label='A',linewidth=5.0)
    B,=plt.plot(x2,y2,'b-.',label='B',linewidth=5.0)
    
    #设置图例并且设置图例的字体及大小
    font1 = {'family' : 'Times New Roman',
    'weight' : 'normal',
    'size'   : 23,
    }
    legend = plt.legend(handles=[A,B],prop=font1)
    
    #设置坐标刻度值的大小以及刻度值的字体
    plt.tick_params(labelsize=23)
    labels = ax.get_xticklabels() + ax.get_yticklabels()
    [label.set_fontname('Times New Roman') for label in labels]
    
    #设置横纵坐标的名称以及对应字体格式
    font2 = {'family' : 'Times New Roman',
    'weight' : 'normal',
    'size'   : 30,
    }
    plt.xlabel('round',font2)
    plt.ylabel('value',font2)
    
    #将文件保存至文件中并且画出图
    plt.savefig('figure.eps')
    plt.show()

     

     

     

     

     

     

     

    最终生成的图片效果如下:


     

    更多的画图代码参考也可见手册中的Examples using matplotlib.pyplot.plot,可以翻到超链接跳转页面的最下方,有很多画图的示例,点进去即为对应实现代码。可以找到适用的代码实现方式。pyplot.subplots下也有很多很好的示例!

    展开全文
  • 主要介绍了python matplotlib画图实例代码分享,具有一定借鉴价值,需要的朋友可以参考下
  • python matplotlib画图

    2019-11-09 21:15:16
    /usr/bin/env python #-*- coding: utf-8 -*- #使用matplotlib的版本为0.5.11,安装方式 pip install matplotlib==0.5.11 import matplotlib matplotlib.use('Agg') #linux环境下使用,在matplotlib.pyplot导入前,...
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    #使用matplotlib的版本为0.5.11,安装方式 pip install matplotlib==0.5.11
    import matplotlib
    matplotlib.use('Agg')  #linux环境下使用,在matplotlib.pyplot导入前,否则会出现_tkinter.TclError: no display name and no $DISPLAY environment variable 错误
    from pylab import *       #通过这种方式导入,可以直接用pie画图,否则用pyplot.pie画图
    from matplotlib import pyplot as plt
    from io import BytesIO
    from lxml import etree
    import base64
    
    plt.rcParams['font.sans-serif']=['SimHei']  #解决中文乱码,linux环境下需要增加simhei.ttf
    matplotlib.rcParams['font.family']='sans-serif'
    #解决负号'-'显示为方块的问题
    matplotlib.rcParams['axes.unicode_minus'] = False
    
    def draw_pie(sizes,labels):
        figure(figsize=(6, 9))  #调节图形大小
        pie(sizes,
            labels=labels,
            autopct='%3.2f%%',  # 数值保留固定小数位
            startangle=90  # 逆时针起始角度设置
            )
        axis('equal')        # x,y轴刻度设置一致,保证饼图为圆形
        legend()             #显示标签
        buffer = BytesIO()
        savefig(buffer)      #保存为二进制
        #savefig("pie.png")  #保存为图片
        plot_data = buffer.getvalue()
        imb = base64.b64encode(plot_data)
        ims = imb.decode()
        imd = "data:image/png;base64," + ims
        res = """<br/><img src="%s">""" % imd
        close()
        return res
    
    labels = [u'大型:46个',u'中型:253个',u'小型:321个',u'微型:66个'] #定义标签
    sizes = [46,253,321,66] #每块值
    f1 = draw_pie(sizes,labels)
    
    labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
    sizes = [15, 30, 45, 10]
    f2 = draw_pie(sizes,labels)
    
    root = "<title>Iris Dataset</title>"
    report = u"<h3>1.1 总览</h3><br />&nbsp;&nbsp;验收总数:<font color=red><b>100</b></font>; 验收通过数:<font color=red><b>90</b></font>;验收通过率:80%"
    root = root + report + f1 + f2
    # lxml 库的 etree 解析字符串为 html 代码,并写入文件
    html = etree.HTML(root)
    tree = etree.ElementTree(html)
    buffer = BytesIO()
    tree.write(buffer)
    
    tree.write('iris.html')
    # 最后使用默认浏览器打开 html 文件
    import webbrowser
    webbrowser.open('iris.html',new = 1)
    
    

    linux下使用matplotlib画图解决中文乱码

    1、查看matplotlib的配置路径

    import matplotlib 
    print (matplotlib.matplotlib_fname())

    得到比如配置路径:
    /usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc

    2、在window下系统盘下搜索simhei.ttf,或者下载simhei.ttf
    将simhei.ttf拷贝到/usr/lib64/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf/下

    3、删除缓存目录
    cd ~/.cache; rm -rf matplotlib

    4、代码中指定

    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  #指定默认字体
    matplotlib.rcParams['font.family']='sans-serif'
    matplotlib.rcParams['axes.unicode_minus'] = False    #解决负号'-'显示为方块的问题

     

    展开全文
  • Python Matplotlib画图

    2020-08-22 14:55:29
    import matplotlib.pyplot as plt # 处理中文正常显示 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] 下面是具体事例: 折线图 #准备一个画布 . 参数 figsize 规定画布的大小。 如下是8x4英寸。1英寸=72...
  • python matplotlib 画图保存图片简单例子

    万次阅读 多人点赞 2018-03-21 15:10:04
    保存的时候遇到过保存空白图像的问题,是因为将plt.savefig('./test2.jpg')放到了plt.show()之后,...import matplotlib.pyplot as plt t = np.arange(0, 69, 1) plt.plot(t, t, 'r', t, t**2, 'b') label =...
  • 主要介绍了Python matplotlib画图与中文设置操作,结合实例形式分析了Python使用matplotlib进行图形绘制及中文设置相关操作技巧,需要的朋友可以参考下
  • 主要介绍了Python matplotlib画图实例之绘制拥有彩条的图表,具有一定借鉴价值,需要的朋友可以参考下
  • 本篇文章主要介绍了python Matplotlib画图之调整字体大小的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 实时画图import matplotlib.pyplot as pltax = [] # 定义一个 x 轴的空列表用来接收动态的数据ay = [] # 定义一个 y 轴的空列表用来接收动态的数据plt.ion() # 开启一个画图的窗口for i in range(100): # 遍历0-99的...
  • 主要介绍了解决Linux系统中python matplotlib画图的中文显示问题,需要的朋友可以参考下
  • 主要介绍了使用python matplotlib 画图导入到word中如何保证分辨率的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,030
精华内容 1,612
关键字:

pythonmatplotlib画图

python 订阅