ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

从零开始学Python爬虫系列:爬取后的数据展示。Matplotlib.pyplot基础,看这一篇就够了

2021-06-28 12:00:22  阅读:227  来源: 互联网

标签:plt 字体大小 Python tu1 pyplot 就够 fontsize 刻度 axis


(一)一个线图的创建

1.给出数据

import numpy as np

x=np.arange(0,12.1,0.2)
y=np.sin(x)

2.画出图形,你只需要plt.plot(x,y)

import matplotlib.pyplot as plt

plt.plot(x,y) 这里的y不是必须的。

这时候,你只得到下面这样的图形

这样的图形太单调了,我喜欢五彩缤纷的灰

plt.plot(x,y,color='red',linestyle='-',linewidth=3,marker='^',\
         markeredgecolor='green',markerfacecolor='red',markersize=3,\
         label='wodetu',zorder=1)

(1)color: 颜色,更多颜色尽在官网https://matplotlib.org/stable/gallery/color/named_colors.html

(2)linestyle:线形。 各种线性全部展示https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html

(3)linewidth:线的粗细

(4)marker:数据点,通过不同性状的marker表示。

全部marker都在:https://matplotlib.org/stable/api/markers_api.html

(5)markeredgecolor:marker的表面颜色

(6)markerfacecolor:marker的内在颜色

(7)markersize:marker的大小

(8)label:将会展示在图例里的内容

(9)zorder:如果你有多条线,那么zorder决定了哪一条线在上面。

看看这红配绿赛狗屁的图

3.这就完了?但是你不喜欢黑色的刻度,你想要不同的style

(1)你需要先把当前的轴提取出来 tu1=plt.gca()

gca代表的是 Get the current Axes,x,y轴为axis,复数为axes

(2)然后设置轴的刻度,轴的小刻度,以及轴刻度上的名称

        tu1.set_xticks([0,2.5,7,11])

(3)你觉得数字不fancy?你想给他们加密?给你的x轴的刻度们换几个单独的名字
        tu1.set_xticklabels(['A','J','W','K'])

(4)如果你想x轴和y轴的小刻度一起设置?
        tu1.tick_params(axis='both',direction='in',color='blue',length=10,width=2)

        axis是x轴和y轴的刻度设置

        direction表示刻度是朝里还是朝外

        color代表刻度颜色

        length代表刻度长度

        width代表刻度宽度

看我这湛蓝的刻度,像一汪海水,把你淹没

4. 你想要更花里胡哨的功能,那你需要加入其他元素:

如果你需要加入网格线,设定x,y轴,创建画布大小,添加图例,保存图片,则可以通过下面的代码设定

(1)创建画布大小 plt.figure(figsize=(10,5)) 这不是什么必须的步骤

(2)设定x轴和y轴范围 plt.axis([-1,6,-2,2]) 也可以是别的什么数字,看你的幸运数字是多少了

(3)x轴设定名称,字体,字体大小。plt.xlabel('x axis',fontproperties='SimHei',fontsize=20)

        ('x axis'是x轴的名称,你可以写任意名称,喊他金角大王都可以

        fontsize是字体大小,

        fontproperties='SimHei' 是字体类型,这里是黑体

(4)y轴设定名称,字体,字体大小。plt.ylabel('y axis',fontproperties='SimHei',fontsize=20)

(5)给你的图像加个名字。plt.title('Picture',fontname='Arial',fontsize=30,weight='bold',style='italic')

        fontname是英文的那些字体类型,这里是Arial类型

        weight这里表示粗体

        style=‘italic’表示斜体

(6)添加网格线,plt.grid(True) 

(7)添加图例 plt.legend(loc='best'),也可以是‘upper left’ , 'bottom right'

(8)紧致的布局,当你储存完图像发现少了一半的时候,你就该想起来用这个紧致的布局了plt.tight_layout()

(9)保存图像,路径加上DPI,DPI越大越清晰,占内存越大,打开越漫长。。。plt.savefig('D:\\try\\tu.png',dpi=300)

大功告成,好像还缺点什么?我想起来了,好像还可以加点注释嘛!

5.来点不太常用的功能,给图片加注释和文字

(1)加文字,plt.text(5,0,'wenzi',fontsize=15)

        这里的5代表x轴对应的5,

        0代表的是y轴对应的0,

        ’wenzi‘是你想要注释的问题

        fontsize是字体大小 
(2)加注释,plt.annotate('zhushi',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))

        1.首先是你想要注释的内容

        2. xy=(2,1)对应的是x,y轴上的位置

        3. xytext=(3,1.5)对应的是第一个注释的内容对应的x,y轴上的位置

        4. arrowprops代表箭头的属性,颜色是黑色,shrink是键柄的长短,width剑柄宽度是2

import matplotlib.pyplot as plt
import numpy as np

#先给你一组数据,这个随机
x=np.arange(0,12.1,0.2)
y=np.sin(x)


#----------------------------------------------------------------------------------
#开始画图
#从最基本的开始,创建一个画布,当然这个不是必须的,长度为10,高度为5
plt.figure(figsize=(10,5)) 

#加入数据,Y不是必须的
plt.plot(x,y,color='red',linestyle='-',linewidth=3,marker='^',\
         markeredgecolor='green',markerfacecolor='red',markersize=3,\
         label='wodetu',zorder=1)
#----------------------------------------------------------------------------------
#当前的轴提取出来 
tu1=plt.gca()

#给你的x轴的刻度们减少几个
tu1.set_xticks([0,2.5,7,11])

#你觉得数字不fancy?你想给他们加密?给你的x轴的刻度们换几个单独的名字
tu1.set_xticklabels(['A','J','W','K'])

#想x轴和y轴一起设置
tu1.tick_params(axis='both',direction='in',color='blue',length=10,width=2)
#----------------------------------------------------------------------------------
#设定x轴和y轴的大小,当然也不是必须的
plt.axis([-1,6,-2,2]) 

#添加网格线,也不是必须的
plt.grid(True) 

#添加图例
plt.legend(loc='best')

#x轴设定名称,字体,字体大小
plt.xlabel('x axis',fontproperties='SimHei',fontsize=20)

#y轴设定名称,字体,字体大小
plt.ylabel('y axis',fontproperties='SimHei',fontsize=20)


#设定图形名称
plt.title('Picture',fontname='Arial',fontsize=30,weight='bold',style='italic')

#紧致的布局,当你储存完图像发现少了一半的时候,你就该想起来用这个紧致的布局了
plt.tight_layout()

#保存图像,路径加上DPI,DPI越大越清晰,占内存越大,打开越漫长。。。
plt.savefig('D:\\try\\tu.png',dpi=300)
#----------------------------------------------------------------------------------
#加文字,这里的5代表x轴对应的5,0代表的是y轴对应的0,’wenzi‘是你想要注释的问题,然后字体大小
plt.text(5,0,'wenzi',fontsize=15)

#加入注释
plt.annotate('zhushi',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))


(二)多个图形的创建

(三)其他类型的图的创建,直方图,饼图,坐标图

标签:plt,字体大小,Python,tu1,pyplot,就够,fontsize,刻度,axis
来源: https://blog.csdn.net/xiaodamao1000/article/details/118295173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有