精华内容
下载资源
问答
  • 今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录。界面如下所示:代码如下所示:import matplotlib.pyplot as pltfrom pylab import * #支持...

    今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录。

    界面如下所示:

    20181213143222.jpg

    代码如下所示:

    import matplotlib.pyplot as plt

    from pylab import * #支持中文

    mpl.rcParams['font.sans-serif'] = ['SimHei']

    """条形图bar"""

    x = ['10/Q1', '10/Q3', '11/Q1', '11/Q3', '12/Q1', '12/Q3', '13/Q1', '13/Q3', '14/Q1', '14/Q3', '15/Q1', '15/Q3', '16/Q1', '16/Q3', '17/Q1', '17/Q3']

    y = [20, 35, 39, 62, 87, 114, 140, 169, 187, 211, 225, 239, 241, 247, 251, 258]

    # plt.bar([1,3,5,7,9],[5,2,7,8,2],label='Example One',color='b')#plt.bar创建条形图

    # plt.bar([2,4,6,8,10],[8,6,2,5,6],label='Example Two',color='g')

    plt.bar(range(16), y, color = 'lightsteelblue')

    plt.plot(range(16), y, marker = 'o', color = 'coral') #coral

    plt.xticks(range(16), x)

    plt.xlabel('年份/季度')

    plt.ylabel("月活跃用户数(单位:百万)")

    plt.legend()

    plt.show()

    以上这篇python画图系列之个性化显示x轴区段文字的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: python画图系列之个性化显示x轴区段文字的实例

    本文地址: http://www.cppcns.com/jiaoben/python/247274.html

    展开全文
  • 学了这么多年python了,还一直没有系统地了解过python画图功能。每次都是现学现用,但是某些比较紧急的场合,往往就会比较耗时又耗力,因为不成体系,还经常会忘记已经吸纳的新知识。所以,我决定把这块的画图功能...

    学了这么多年python了,还一直没有系统地了解过python的画图功能。

    每次都是现学现用,但是某些比较紧急的场合,往往就会比较耗时又耗力,因为不成体系,还经常会忘记已经吸纳的新知识。

    所以,我决定把这块的画图功能系统的学习一下,进行知识储备。

    Python的pyplot模块绘制图表的基本操作。

    =======================================================

    一个简单的二维折线图:

    import matplotlib.pyplot as plt

    x = [1, 2, 3, 4]

    y = [1.2, 2.5, 4.5, 7.3]

    # plot函数作图

    plt.plot(x, y)

    plt.savefig("test.png", dpi=120)

    # show函数展示出这个图,如果没有这行代码,则程序完成绘图,但看不到

    plt.show()

    运行后的效果是这样的,从数值对应上,横轴应该是x轴,纵轴应该是y轴。

    但是,对应图与代码,另外疑问的是,为什么x轴给出的是整数,在绘制时却用了浮点?而又为什么y轴给出的是浮点数,在绘制时却用的是整数呢?

    ----------------------------------------------------------------------------------------------

    另一个点是:

    show()函数在通常的运行情况下,将会阻塞程序的运行,直到用户关闭绘图窗口。换句话说,在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    我测试了普通的print()之后,发现并没有阻塞。。。

    但是呢,当我在调用plt.savefig()将当前的Figure对象保存成图像文件时,

    如果plt.savefig()代码放在了plt.show()之后,那我本地保存的图像就是一张空白图,不符合预期;

    但如果plt.savefig()代码放在了plt.show()之前,则可以成功实现保存。

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    虽然问题不大,但也让我产生疑问:到底是有阻塞还是没有阻塞呢?如果有,阻塞什么,而又不阻塞什么呢?

    =======================================================

    不同风格的线条:

    import matplotlib.pyplot as plt

    x = [1, 2, 3, 4]

    y = [1.2, 2.5, 4.5, 7.3]

    #线条颜色、线条样式、突出(marker)每个记录的点、线条粗细

    plt.plot(x, y, color="r", linestyle="--", marker="*", linewidth=1.0)

    plt.show()

    运行后的效果:

    ---------------------------------------------------------------------------------------------

    线条风格(linstyle):

    supported values are '-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted'

    -----------------------------------------------------------------------------------------------

    线条颜色(color):

    -----------------------------------------------------------------------------------------------

    线条标记(marker):

    ======================================================

    坐标轴控制

    -绘图范围:

    import matplotlib.pyplot as plt

    import numpy as np

    #x 的取值范围

    x = np.arange(-5, 5, 0.02)

    y = np.sin(x)

    #控制图像的绘图范围

    #plt.axis([x_min, x_max, y_min, y_max])

    plt.axis([-np.pi, np.pi, -2, 2])

    plt.plot(x, y, color="r", linestyle="-", linewidth=1)

    plt.show()

    运行效果如下:

    值得注意的一个点:

    虽然x的取值范围在[−5,5],但是绘图时,只是展示了[−π,π]之间的函数图。

    引出一个可以控制图像范围的函数:

    plt.axis([x_min, x_max, y_min, y_max])

    如果只是单独想要控制x轴或者y轴的取值,则可以用plt.xlim(x_min, x_max)和plt.ylim(y_min, y_max),用法与plt.axis()类似。

    ----------------------------------------------------------------------------------------------

    -标题和间隔:

    import matplotlib.pyplot as plt

    import numpy as np

    import math

    x = np.arange(-2 * math.pi, 2 * math.pi, 0.02)

    y = np.sin(x)

    plt.axis([-10, 10, -2, 2])

    plt.xticks([i * np.pi/2 for i in range(-4, 5)], [str(i * 0.5) + "$\pi$" for i in range(-4, 5)])

    plt.yticks([i * 0.5 for i in range(-4, 5)])

    plt.xlabel("x")

    plt.ylabel("y")

    plt.plot(x, y, color="r", linestyle="-", linewidth=1)

    plt.show()

    运行效果如下:

    纯粹知识的学习记录:

    函数plt.xlabel()和plt.xlabel()用来实现对x轴和y轴添加标题。

    函数plt.xticks()和plt.yticks()用来实现对x轴和y轴坐标间隔(也就是轴记号)的设定。用法上,函数的输入是两个列表,第一个表示取值,第二个表示标记。当然如果你的标记就是取值本身,则第二个列表可以忽略。(支持latex公式表达)

    =======================================================

    PS:感谢参考文章的作者,从细节、小处一步步向前推进,能够很好的帮助我建立知识体系。

    不过,一如既往地,我的问题真多,虽然问题不大,但是拥有自己的思考分析,我认为是应该一直坚持的事情。

    毕竟自己小菜鸡,一直在参考文章进行学习,期待学习后期可以有自己完全独立、不依赖参考文章的成形文字。

    展开全文
  • 今天小编就为大家分享一篇python画图系列之个性化显示x轴区段文字的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 什么是PILPIL(Python Imaging Library)是python中处理图像常用的一个库,常见的用法包括可以操作二维像素点、线、文字以及对现有图片的缩放、变形、通道处理,也可以转换图片的编码格式,可以比较两幅图片的不同。...

    最近工作中需要用到图片的自动化处理,于是了解了一下PIL程序库。

    什么是PIL

    PIL(Python Imaging Library)是python中处理图像常用的一个库,常见的用法包括可以操作二维像素点、线、文字以及对现有图片的缩放、变形、通道处理,也可以转换图片的编码格式,可以比较两幅图片的不同。

    安装

    python中安装库一般通过pip或者easy_install,如果这两者不可行,一般在搜索引擎找到官网或者github项目地址,进入主目录执行python setup.py install。PIL安装方式亦如上所述。

    使用场景

    基本操作:打开,打印文件属性和展示图片

    >>> import Image

    >>> im = Image.open("lena.ppm")

    >>> print im.format, im.size, im.mode

    PPM (512, 512) RGB

    >>> im.show()

    其中format包括jpg,png,gif,bmp等

    size很好理解,返回的是一个二元组代表宽高

    mode代表的是色彩模式,除了RGB,共支持如下模式

    1 (1-bit pixels, black and white, stored with one pixel per byte)

    L (8-bit pixels, black and white)

    P (8-bit pixels, mapped to any other mode using a colour palette)

    RGB (3x8-bit pixels, true colour)

    RGBA (4x8-bit pixels, true colour with transparency mask)

    CMYK (4x8-bit pixels, colour separation)

    YCbCr (3x8-bit pixels, colour video format)

    I (32-bit signed integer pixels)

    F (32-bit floating point pixels)

    图片缩放:

    size = (128, 128)

    im = Image.open(infile)

    im.thumbnail(size)

    经过测试,缩放是会保留原始长宽比的,缩放操作其实意味着在保留长宽比的前提下,缩放后结果的高不大于128,宽也不大于128.

    缩放时还有一个filter参数,可以控制图片的质量,压缩时PIL处理过程中称为resampling的过程,可以采用以下filter:

    - NEAREST

    Pick the nearest pixel from the input image. Ignore all other input pixels.

    直接采用该像素点最近的像素点的色彩值

    - BILINEAR

    Use linear interpolation over a 2x2 environment in the input image. Note that in the current version of PIL, this filter uses a fixed input environment when downsampling.

    类似第一种,只不过扩大了采样的范围并作平均。是2*2的范围

    - BICUBIC

    Use cubic interpolation over a 4x4 environment in the input image. Note that in the current version of PIL, this filter uses a fixed input environment when downsampling.

    进一步扩大到了4*4的范围

    - ANTIALIAS

    (New in PIL 1.1.3). Calculate the output pixel value using a high-quality resampling filter (a truncated sinc) on all pixels that may contribute to the output value. In the current version of PIL, this filter can only be used with the resize and thumbnail methods.

    看不太懂,反正这个是推荐的,官方认为只要不是对速度有非常大的要求,都要采用这个filter。

    通过实际操作,确实发现第四种明显减少了锯齿,而第一种nearest锯齿最为严重

    925b162b3b8c?nomobile

    对比ANTIALIAS vs NEAREST

    图片转换:

    im = Image.open(“a.png")

    im.save(“a.jpg”)

    PIL默认会读取后缀名来应该用何种编码来转换这张图片。

    图片粘贴:

    width = 850

    height = 510

    im = Image.open(“for_paste.jpg")

    image = Image.new('RGB', (width, height), (255, 255, 255))

    box = (250,42,550,325)

    image.paste(im,box)

    代码首先新建了一个image对象,作为我们的画布,然后将for_paster.jpg粘贴到画面中的区域。box是一个四元组,含义为(左上角x,左上角y,右下角x,右下角y)。这里如果box的宽和高与被粘贴图片的宽高不一致,系统会抛异常。

    图片中写字:

    #创建一个字体实例,采用微软雅黑38号

    font_en = ImageFont.truetype('/Library/Fonts/Microsoft/Microsoft Yahei.ttf',38)

    draw = ImageDraw.Draw(image)

    #指定字体和颜色(RGB)

    draw.text( (0,100), u’He acknowledged his faults.', font=font_en,fill=(0,0,0))

    del draw

    结果如下:

    925b162b3b8c?nomobile

    Python画图

    展开全文
  • python画图--输出指定像素点的颜色值方法如下所示:# -*- coding: utf-8 -*-#-------------------------------------------------------------------------------# Name: module1# Purpose:## Author: leniy_tsan## ...

    python画图--输出指定像素点的颜色值方法

    如下所示:

    # -*- coding: utf-8 -*-

    #-------------------------------------------------------------------------------

    # Name: module1

    # Purpose:

    #

    # Author: leniy_tsan

    #

    # Created: 10-04-2012

    # Copyright: (c) leniy_tsan 2012

    # Licence: GPL v2

    #-------------------------------------------------------------------------------

    #!/usr/bin/env python

    from PIL import Image

    import random

    x=136

    y=76

    c = Image.new("RGB",(x,y))

    for i in range (0,x):

    for j in range (0,y):

    c.putpixel([i,j],(random.randint(0,255),random.randint(0,255),random.randint(0,255)))

    c.show()

    c.save("c.png")

    以上这篇python画图--输出指定像素点的颜色值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    时间: 2019-07-02

    用python画柱状图容易,但是如何对不同柱子使用不同颜色呢?同时在柱子顶端显示精确数值? 主要用的方法为: atplotlib.pyplot.bar(left, height, width=0.8, bottom=None, hold=None, data=None, **kwargs) 参数说明: left: 每一个柱形左侧的X坐标 height:每一个柱形的高度 width: 柱形之间的宽度 bottom: 柱形的Y坐标 color: 柱形的颜色 下面是代码示例(首先请先安装numpy以及

    blank.gif

    本文实例为大家分享了Python OpenCV图像像素点操作的具体代码,供大家参考,具体内容如下 0x01. 像素 有两种直接操作图片像素点的方法: 第一种办法就是将一张图片看成一个多维的list,例如对于一张图片im,想要操作第四行第四列的像素点就直接 im[3,3] 就可以获取到这个点的RGB值. 第二种就是使用 OpenCV 提供的 Get1D. Get2D 等函数. 推荐使用第一种办法吧,毕竟简单. 0x02. 获取行和列像素 有一下四个函数: cv.GetCol(im, 0): 返回第

    blank.gif

    本文实例讲述了Python实现去除图片中指定颜色的像素功能.分享给大家供大家参考,具体如下: 这里用python去除图片白色像素 需要python和pil from PIL import Image import numpy as np import cv2 img2 = Image.open('./Amazing_COL_2Fix.bmp') img1 = Image.open('./Amazing_RGB_2L.bmp') # img1 = img1.convert('RGBA') img2

    ###在做爬虫的时候有时需要识别验证码,但是验证码一般都有干扰物,这时需要对验证码进行预处理,效果如下: from PIL import Image import itertools img = Image.open('C:/img.jpg').convert('L') #打开图片,convert图像类型有L,RGBA # 转化为黑白图 def blackWrite(img): blackXY = [] # 遍历像素点 for x in range(img.size[0]): for y in

    如下所示: from PIL import Image ########获取图片指定像素点的像素 def getPngPix(pngPath = "aa.png",pixelX = 1,pixelY = 1):     img_src = Image.open(pngPath)     img_src = img_src.convert('RGBA')     str_strlist = img_src.load()     data = str_strlist[pixelX,pixe

    blank.gif

    前言 这篇文章通过实例给大家讲解Python3中print带颜色输出的格式,下面话不多说了,来一起看看详细的介绍吧 \033[显示方式;前景色:背景色m需要显示的文字\033[0m 其中\033[:开头部分:\033[0m:结尾部分:显示方式.前景色.背景色是可选参数,可以只写其中的某一个:三个参数表示不同的含义,并且数值都是唯一没有重复的,所以三个参数的书写没有先后顺序,没有固定要求,但还是建议按照默认格式规范书写. 数值标示的参数含义: 1.显示方式: 0(默认).1(高亮).22(非粗体)

    python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 :xlwt写入excel表格数据: 一.python读取excel表格数据 1.读取excel表格数据常用操作 import xlrd # 打开excel表格 data_excel=xlrd.open_workbook('data/dataset.xlsx') # 获取所有sheet名称 names=data_excel.sheet_names()

    OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.相比于PIL库来说OpenCV更加强大, 可以做更多更复杂的应用,比如人脸识别等. 1. 读入并显示图片 im

    代码如下所示: import requests import json from pyecharts.charts import Map, Geo from pyecharts import options as opts from pyecharts.globals import GeoType, RenderType url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' datas = json.loads(reque

    进过两天的研究终于实现了cookie的免密登录,其实就是session.特别开心,因为在Python爬虫群里问那些大佬,可是他们的回答令我寒心,自己琢磨!!! 靠谁比如靠自己,为此我总结下经验,以免入门的小白再次踩这样的吭.其实网上很多博客写的都比较不详细甚 首先问题自己思考,不懂得去群里问问,然后最重要的要理解事物的本质,只有理解后才能运用它:最后在百度一下把所有相关的博客都点开,一条一条的看一遍总结下规律,比较喽的就舍弃,这样基本上都能得到启发作用.比如selenium的本质就是操作浏览器的

    概述 Selenium是一款免费的分布式的自动化测试工具,支持多种开发语言,无论是C. java.ruby.python.或是C# ,你都可以通过selenium完成自动化测试.本文以一个简单的小例子,简述C# 利用Selenium进行浏览器的模拟操作,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 要实现本例的功能,除了要掌握Html ,JavaScript,CSS等基础知识,还涉及以下知识点: log4net:主要用于日志的记录和存储,本例采用log4net进行日志记录,便于过程跟踪

    题目:编写一个程序,在面板上移动小球.应该定义一个面板类来显示小球,并提供向上下左右移动小球的方法.请进行边界检查以防止小球移动到视线之外. 问题:我写的程序可以运行但是无法显示小球的移动,如果将移动改为改变小球颜色则可以显示,检查许久也检查不到问题在哪,所以贴上来问问大佬们,问题出在哪里?应该如何改? 代码如下: public class MoveBall_3 extends Application{ private CirclePane circlePane = new CirclePane

    无论使用什么框架都存在着从controller向Html页面或者jsp页面传递数据的问题,最常用的方式是传递Json字符串.以前对这块知识有些模糊,现在整理一下. [Jquery基本方法] 实现传值常用的是Jquery以及内部封装的ajax.首先看一下jquery的get()和post()语法.get()方法是从服务器获得数据,其主要参数就是获得后台请求地址,以及负责处理的回调函数: $.get(URL,callback); $("button").click(function(){

    功能 默认情况无限循环向右移动 点击数字切换到对应图片 点击左右切换可切换图片 原理 首先说下原理. 在布局上所有的图片都是重叠的,即只要保证Y方向对齐即可,当前可见的图z-index层级最高. 每隔3s中更换一张图片,使用setTimeout定时. 使用gIndex记录当前可视区域的展示的是哪张图片下标,每次更换,计算下一张图片的下标. 通过requestAnimationFrame实现一次图片切换的动画. 这种方法也可以做到整个页面始终只有2个img标签,而不必把所有的img节点全部创建出来

    前言 本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容. 详细代码参考说明:Python3 SMTP发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq.com pop.qq.com smtp.qq.c

    展开全文
  • ubuntu python 画图使用中文显示文字

    千次阅读 2018-09-20 18:44:37
    ubuntu python 画图使用中文显示文字查看系统中已有的中文字体 查看系统中已有的中文字体 fc -list #########会出现类似以下格式的内容######## /usr/share/fonts/truetype/arphic/ukai.ttc: AR PL UKai ...
  • plt.xticks(rotation=70) # 倾斜70度
  • Python画图

    2020-09-04 12:57:13
    ⑦ turtle.write(”文本“,move=“True”,align=“left”,font=(“字体名称”,“字体大小”,“字体类型”)) 在图窗里写文字,move可以是True或False,如果是True,则将画笔移动至右下角,默认一般为False,align...
  • python中使用用pyplot 库绘图。一般情况下, x 轴刻度默认显示为数字。import matplotlib.pyplot as pltimport numpy as npval_ls = [np.random.randint(100) + i*20 for i in range(7)]scale_ls = range(7)plt.bar...
  • matplotlib官网文档:支持win7_64_bit的matplotlib库下载网址:简介:matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,...
  • 1、需要将时间字符串转换成datetime类型,语法:data[‘time’] = pd.to_datetime(data[‘time’])2、将时间列设置成索引列data.set_index(‘time’)3、画图分两种(1) matplotlib.pyplot方式打印某一列数据,直接data...
  • python画图

    2017-09-26 14:45:41
    当我们获取完数据之后,一般来说数据可视化呈现的最基础图形就是:柱状图、水平条形图、折线图等等,在python的matplotlib库中分别可用bar、barh、plot函数来构建它们,再使用xticks与yticks(设置坐标轴刻度)、...
  • “小海龟”turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上...
  • 今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录。界面如下所示:代码如下所示:import matplotlib.pyplot as plt from pylab import * #支持...
  • Python画图中文显示

    千次阅读 2017-04-03 00:55:17
    解决python画图时中文不能正常显示。
  • Python画图——基础篇

    千次阅读 2019-04-29 13:29:40
    python画图——基础篇1 前言2 基础知识2.1 图像坐标系3 matplotlib3.1 画直线图3.2画散点图3.3 区域填充3.4 坐标轴相关3.4.1 坐标轴范围3.4.2 坐标轴刻度3.4.3 坐标轴标签3.4.4 隐藏坐标轴3.5 标题3.6 画布设置3.7 ...
  • python 画图--饼图

    万次阅读 多人点赞 2016-07-27 18:35:54
    这是python画图系列第三篇--饼图 画饼图用到的方法为: matplotlib.pyplot.pie() 参数为: pie(x, explode=None, labels=None, colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'), autopct=None, ...
  • 原博文2020-04-28 17:16 −初衷本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的...
  • Python画图中文

    千次阅读 2019-06-26 18:54:32
    当我们使用matplotlib.plt画图的时候,如果我们要输入中文的标识,使得在输出图像中显示中文,光是以下的做法是不够的。 import matplotlib.pyplot as plt plt.figure() plt.bar([1,2,3,4,5,6,7,8,9,10],[5,6,1,2...
  • MAC系统python画图显示中文字体 plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
  • matplotlib官网文档:支持win7_64_bit的matplotlib库下载网址:简介:matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,...

空空如也

空空如也

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

python画图文字

python 订阅