python之折线图绘制体验

python 折线图 文章目录1 pyplot.plot常用参数:2 单折线图绘制3 多子图绘制 1 pyplot.plot常用参数: color 设置线的颜色 label 设置线的标签 例如:lable=“自己” linestyle / ls 设置线的风格 例如:linestyle=‘-.’,‘–’,‘-’,‘:’ marker 设置点的风格 如下图 linewidth / lw 设置线条粗细 例如:linewidth=5 alpha 设置透明度 例如alpha=0.5 marker的参数 阅读详情

         上一篇“python之初体验”中我们主要是实现了抓取csdn本人博客列表页面的每一篇博客的阅读数量和标题功能,后来就想我们是有了数量和title,可是我还想要是知道我的每篇阅读数量和日期之间的关系就好了,以及每篇博客的阅读趋势,说到关系和趋势可能再多的语言都显得苍白无力,所以图表可能是最好的一种表现形式,今天要实现的功能就是在python中通过绘制折线图来表明日期和阅读数量的关系。

         当然代码是可以复用的,之前的爬取代码我们直接拿过来用就好了,本质上是只需要将我们爬取的数据展示在折线图上面就好了,python中画图常用的就是matplotlib了,当然这个属于第三方模块,需要安装,如果不安装直接导包是会失败的,当然安装就很简单了,这里就不多介绍了。下面是我们代码的完整实例。

         

#!usr/bin/python
# -*- coding: utf-8 -*-

'''
使用python爬取csdn个人博客的访问量,并用折线图展示出来时间和阅读数目的关系
'''

import urllib2
import re
from bs4 import BeautifulSoup;

#当前的博客列表页号
from http import ResponseUtils
# 导入画图需要的库
from pylab import *

page_num = 1
notLast = 1;
# account = str(raw_input('输入csdn的登录账号:'))
account = 'submit66'
allTitleList = [];
allViewList = [];

while notLast:

    #首页地址
    baseUrl = 'http://blog.youkuaiyun.com/'+account
    #连接页号,组成爬取的页面网址
    myUrl = baseUrl+'/article/list/'+str(page_num)

    #伪装成浏览器访问,直接访问的话csdn会拒绝
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    headers = {'User-Agent': user_agent}
    #构造请求
    req = urllib2.Request(myUrl, headers=headers);

    #访问页面
    myResponse = urllib2.urlopen(req)
    myPage = ResponseUtils.OutResponse().getResponse(myResponse);

    #在页面中查找是否存在‘尾页’这一个标签来判断是否为最后一页,如果没有则代表是最后一页了
    pattern = re.compile('尾页</a>');
    notLast = pattern.findall(myPage, re.S);

    soup = BeautifulSoup(myPage, 'lxml');
    # 使用beautifulsoup来解析html
    titleList = soup.find_all('span', class_='link_postdate');
    # 使用beautifulsoup来解析html
    viewList = soup.find_all('span', class_='link_view');
    allTitleList.extend(titleList);
    allViewList.extend(viewList);

    #页号加1
    page_num = page_num + 1;

# ----------------循环结束渠道数据,下面是为了绘图准备数据,并且对数据做加工-----------------
# 将数据结果顺序反转,因为之前是倒序排列,我们需要的时间是从前到后的
allTitleList.reverse();
allViewList.reverse();

# 声明两个数组,存储的即为x、y轴的值
xValues = [];
yValues = [];
# 通过循环给存储x和y轴坐标值的list赋值
for n in range(len(allViewList)):
    xvalue = allViewList[n].contents[1].encode('utf-8'); # 取出阅读数量数据
    yvalue = allTitleList[n].get_text().encode('utf-8'); # 取出阅读日期数据
    yValues.append(xvalue[1:len(xvalue)-1]) # 因为去除的阅读数是带()的,所以我们需要截取,对于字符串的截取就相当于截取数组
    xValues.append(yvalue) # 将阅读数量放在list中
    # 打印输出我们的数据
    print '阅读数量:%s   日期:%s' % (yValues[n], xValues[n]);

# --------------下面是开始绘图部分--------------

# 这行代码是设置中文字体可以展示,否则将会报错
mpl.rcParams['font.sans-serif'] = ['SimHei']
x = range(len(xValues))
plt.plot(x, yValues, marker='o', mec='r', mfc='w', label=u'x时间和y阅读数关系折线图')
plt.legend()  # 让图例生效
# 可以看到x和y 设置的方式是不同的,因为x轴可能只是一个名称,一个分类,而不是一个具体的数值,所以通过这种方式来做了,而对于y则是要具体展示的数值
plt.xticks(x, xValues, rotation=45) # 这里的rotation,当名称展示时候,一个倾斜的角度,当文案很长时候特别好用
plt.margins(0) # 这个不设置的话,折线的开始和结束出会有间距
plt.subplots_adjust(bottom=0.27) # 设置折线图和底部区域的距离
plt.xlabel(u"time(s)阅读日期") #X轴标签
plt.ylabel(u"阅读数量(次)") #Y轴标签
plt.title(u"阅读数量趋势图") #标题
# 展示图表对话框
plt.show()

        其实,上面的代码写的还是蛮清楚的,相比之前的代码,就是需要导入pylab模块,里面自然是包含了matplotlib的了,之前代码还是爬取的,一变的是之前我们抓取的是阅读数量和博客title,现在是阅读数量和每篇博客创建时间,二是将阅读数量和阅读日期分别放在了list中方便下面使用。然后第二部分就是将数据做整合,即为绘图准备x和y轴的值,两者均放在一个list里面,两个list的数量是一致的,否则是会报错的。第三部分则是绘图部分,首先是设置了绘图可以正确展示中文,其次是将x和y轴的数据给了绘图实例,然后让绘图实例生效,因为我们的x轴只是一个名称展示,这里即为日期展示,所以不能像y轴那样子直接把值塞进去,所以下面调用了xticks方法进行了特殊处理,下面又设置了x和y轴标签,即x和y轴分别代表什么了。最后就是我们的图表的show(秀)啦。让我们看看最终效果图吧:

           嗯,看起来貌似还不错,不过最近的阅读数量有点低呀,尴尬啦。有人会问上面的xticks方法的rotation是干嘛的,就是让我们的x轴数值逆时针旋转45度呀,你看我们的x轴的每个数值都那么长,如果不旋转肯定覆盖了呀,还有subplots_adjust这个方法是设置绘图区域和上下左右之间的距离的,特别是底部的,如果不设置的话,那么长的文案是会被下面的菜单栏覆盖的哦,然后我们再说说plot这个方法的几个参数的意思,前两个就是x和y轴的数据了,第三个就是设置上图的红圈即为标记点了,第四个参数是设置标记点的颜色,上面r代表红色,你换成g就是绿色了,如果不设置的话,默认是蓝色。第五个参数就是设置标记点是否是实心,如果mfc不设置的话就是实心的,最后一个参数就是折线图的实例和说明了。

           基本上内容就这么多,如果有不对之处,欢迎批评指正。

Python中matplotlib绘制折线图方法总结 Python中matplotlib绘制折线图方法总结(看这一篇blog就够了)     本文主要记录如何用Python中的自带库matplotlib绘制折线图。 目录Python中matplotlib绘制折线图方法总结(看这一篇blog就够了)1.导入库2.数据准备3.图像绘制4.完整代码(直接复制可运行)5.如何设置线型、线颜色、线上圆点标志、X轴labels5.1 如何设置线型5.2 如何设置线颜色5.3 如何设置线上圆点标志5.4如何设置X轴刻度labels标签6.参考链接 1.导入库     直接导 阅读详情

相关推荐

使用python读取excel中的数据,并绘制折线图

使用python读取excel中的数据,并绘制折线图 做实验的时候采集到一些数据,从文本拷贝到excel,然后从十六进制转换成十进制。图表时分析数据的有利工具,使用python绘制出的图标简明美观。所以我这次尝试一下。python新手,请多多指教。 我这次的数据比较简单,在excel中只有一个sheet,一列有效数据。所以这次的任务可以分为两部分:读取数据,绘图。 一, 读取数据 链接 这个写的很...

sherry_lvy的博客 5万+

echarts 折线图小圆点修改为实心,折线图下方半透明效果

option = { xAxis: { type: 'time', }, yAxis: { }, dataZoom: [ ], series: [ { name: 'Fake Data', type: 'line', smooth: true,//true 有弧度 ,false 没弧度(直线) symbol: 'circle',//将小圆点改成实心 不写symbol默认空心 symbolSize: ............

clearlove7_2018的博客 9831

数据可视化——用python绘制简单的折线图

用python实现数据可视化——绘制折线图

不能再留遗憾了的博客 1万+

python实心点怎么画_python 绘制随机实心圆,保存标签

import numpy as npimport cv2import osdef main():ann_images = ‘D:/University/Data/images/’ann_savepath = ‘D:/University/Data/landmarks/’if not os.path.exists(ann_savepath): # 创建文件夹os.mkdir(ann_savepath...

weixin_39875754的博客 1334

一文看懂用python绘制折线图(吐血整理版)极详细!

折线图的绘制主要分为四步: 1)导入相关的库 2)做图片输出的通用设置 3)设置数据及折现的属性 4)设置图的标题 案例: import matplotlib import numpy as np from matplotlib import pyplot as plt %matplotlib inline #通用设置 matplotlib.rc('axes', facecolor = 'white') matplotlib.rc('figure', figsize = (6, 4)) ma

Norsaa的博客 3万+

Python中绘制折线图的全面指南

Matplotlib库Matplotlib是Python中一个非常流行的2D绘图库,它提供了广泛的图表和可视化类型,并且允许用户进行高度定制。通过本文的详细介绍,我们全面了解了在Python中使用Matplotlib库绘制折线图的方法和技巧。从基础折线图的绘制,到自定义折线图的样式、颜色、线型和标记,再到在同一张图表上绘制多条折线图进行比较,我们掌握了绘制折线图的基本技能。

2301_81064905的博客 7323

【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)

一文彻底教会你绘制美观的折线图(理论+源码)

数据杂坛 2万+

python 用matplotlib绘制折线图-折线风格-多条折线绘制在一个图中

使用matplotlib绘制折线图    直接使用plot()函数   plt.plot(x,y,format_string,**kwargs)   x轴数据,y轴数据,format_string控制曲线的格式字串,format_string由颜色字符,风格字符,和标记字符 。   导入库 import matplotlib.pyplot as plt 数据部分 allX=[1, 2, 3,...

weixin_40306105的博客 1万+

Python绘制折线图

matplotlib的图像分为三层,容器层、辅助显示层和图像层。

qq542819222的博客 6万+

python matplotlib绘制折线图

前言 众所周知,matplotlib 是一款功能强大开源的数据可视化模块,凭借着强大的扩展性构建出更高级别的绘图工具接口如seaborn、ggplot。我们来看看往期学习章节内容概述吧~ 接下来,我们将继续学习matplotlib 图表绘制具体的功能实操,掌握针对不同图表的绘制 本期,我们重点对折线图的绘制进行学习和掌握,Let's go~ 1. 折线图概述 什么是折线图? 折线图是在坐标中通过线条升降的方式展示随着某种变化而变化的连续性数据 通过折线的起伏表示数据的增减变化的情况

weixin_54556126的博客 4609

Python读取txt文档并绘制折线图

Python读取 txt文档并绘制折线图 有时候我们使用txt文档记录了一些数据,需要可视化的分析,可以绘制成折线图。 首先这里有一个txt文档,里面的数据是我随意写入的,命名为map.txt,里面数据有两列,中间用逗号隔开,txt文档和python程序在同一个文件夹。 map.txt 23,120.343 24,137.087 25,139.879 26,143.023 27,144.965 2...

Keeplearning 1万+

Python matplotlib绘制折线图

Python matplotlib绘制折线图

weixin_43790276的博客 6万+

Pyecharts教程(四):使用pyecharts绘制3D折线图

作者:安静到无声。

安静到无声 1386

Python绘制折线图、散点图

Python绘图需要下载安装matplotlib模块,它是一个数学绘图库,我们将使用它来制作简单的图表,如折线图和散点图。关于matplotlib模块的下载安装预配置将在后面具体介绍。 (一)绘制折线图 首先,我们先绘制一个简单的折线图 # 调用模块 import matplotlib.pyplot as plt squares=[1, 4, 9, 16, 25] x=[1,...

weixin_44386638的博客 9万+

tkinter画折线图

本文笔者在学习过程中尝试用Canvas画折线图,有许多不足,不如用matplotlib来画,以下是完整代码。

qq_65898266的博客 1569

【长文干货】Python可视化教程

Python数据可视化教程

全栈川川 1188

【Python】Matplotlib绘制折线图

文章目录1.Matplotlib画图简单实现2.折线图2.1绘制折线图2.2设置线的格式2.3设置折点2.4.图片的保存和导出2.5设置刻度2.6显示中文2.7实例:每分钟心脏跳动图3.拓展3..1一图多线3.2一图多个坐标子图3.3坐标轴设置 1.Matplotlib画图简单实现 Matplotlib在一个绘制2D图片的库 import matplotlib.pyplot as plt #第一个表示x轴,第二个列表表示y轴 plt.plot([1,0,9],[4,5,6]) plt.show() .

qq_53893431的博客 2万+

Ansys口腔正畸有限元分析:从几何处理到接触设定的全流程解析

本文详细解析了Ansys在口腔正畸有限元分析中的全流程应用,从几何处理到接触设定,帮助医生精准预测牙齿移动趋势。通过有限元建模技术,可同时观察牙齿-牙周膜-牙槽骨的力学响应,显著提升矫治效果预测准确率。文章还分享了实用技巧和参数设置建议,适用于正畸医生和工程师。

weixin_30897233的博客 348

python绘制折线图

python

qq_53646158的博客 6856

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)Step 1 软件安装Step 2 硬件获取Step 3 开始从头到脚建一个工程Step 3.1 新建一个工程 从0开始学习FPGA,最好的办法就是先建一个最简单的模块,并且跑起来,然后再慢慢展开。下面这个例子是要按照一定的周期点亮核心板上的一个led。 Step 1 软件安装 这个从0开始学习是用的xilinx的SPARTAN6。SPARTAN6集成开发环境用ISE,不能用Vivado,各自对应的版本不同。安装

xfacexx点点记录 5510

直线电机驱动技术原理与应用解析

直线电机作为直接电能-直线运动转换装置,其核心原理基于电磁感应定律和洛伦兹力公式。通过三相交流电在定子绕组中产生行波磁场,与动子永磁体相互作用实现精准推力控制。相比传统旋转电机传动系统,直线电机具有零传动间隙、高动态响应(加速度可达10g)和微米级定位精度等技术优势,这使其成为半导体光刻机、精密数控机床等高端装备的关键驱动部件。现代直线电机驱动单元通常采用三环控制架构(电流环、速度环、位置环),配合SiC功率器件和高分辨率光栅反馈,实现纳米级运动控制。随着模块化设计和直接冷却技术的发展,直线电机正朝着更高功

weixin_26802933的博客 259
上一篇: android studio升级到3.0之后的一些配置变化
下一篇: android 8.0 应用启动崩溃?
和小胖
博客等级 码龄12年 8粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值