一,从本地加载csv文件

from matplotlib import pyplot as plt
import numpy as np
import csv
#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False

#定义两个空列表存放x,y轴数据点
x=[]
y=[]
with open("csv//matplotlib-demo.csv",'r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    for row in plots:
        x.append(int(row[0]))  #从csv读取的数据是str类型
#         print("x:",x)
        y.append(int(row[1]))
#         print("y:",y)
#画折线图
plt.plot(x,y,label='模拟数据')
plt.xlabel('x')
plt.ylabel('y')
plt.title('演示从文件加载数据')
plt.legend()
plt.show()

结果显示:
这里写图片描述
二,加载网络接口数据

import json #解析json数据
import urllib  # 利用urllib.request网络存取数据

#利用urllib加载接口数据
url = 'https://api.douban.com/v2/book/1220562'
source_code = urllib.request.urlopen(url).read().decode()
source_code
#通过json.loads()方式将json格式的字符串转换为python中的字典数据类型
data = json.loads(source_code)
# type(data)  #dict

#通过data[‘tags’]获取该键所对应的值
tags = data['tags']
tags
打印结果:
[{'count': 144, 'name': '片山恭一', 'title': '片山恭一'},
 {'count': 70, 'name': '日本', 'title': '日本'},
 {'count': 65, 'name': '日本文学', 'title': '日本文学'},
 {'count': 40, 'name': '小说', 'title': '小说'},
 {'count': 33, 'name': '满月之夜白鲸现', 'title': '满月之夜白鲸现'},
 {'count': 17, 'name': '爱情', 'title': '爱情'},
 {'count': 10, 'name': '純愛', 'title': '純愛'},
 {'count': 9, 'name': '外国文学', 'title': '外国文学'}]

plt.figure(figsize=(10,6))

x = []  #存放x轴数据
y = []
#遍历tags,取到count作为y轴,name作为x轴
for tag in tags:
    x.append(tag["name"])
    y.append(tag["count"])
plt.bar(x,y,label="图书搜索热词")
plt.title("图书热词搜索排名")
plt.legend()
plt.xlabel('x轴-搜索热词')
plt.ylabel('y轴-搜索热词排名')
plt.show()

三,用numpy加载csv数据

x,y = np.loadtxt("csv//matplotlib-demo.csv",delimiter=',',unpack=True)
print("x值:",x,"y值:",y)
打印结果:
x值: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
y值: [5. 3. 4. 7. 4. 3. 5. 7. 4. 4.]

#画折线图
plt.plot(x,y,label='模拟数据')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('Numpy简化数据加载过程')
plt.legend()
plt.show()

---------------------
作者:pennyyangpei
来源:CSDN
原文:https://blog.csdn.net/qq_42379006/article/details/80834096
版权声明:本文为博主原创文章,转载请附上博文链接!

matplotlib读取csv文件的更多相关文章

  1. [Python Study Notes]pd.read_csv()函数读取csv文件绘图

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  2. python-pandas读取mongodb、读取csv文件

    续上一篇博客(‘’selenium爬取NBA并将数据存储到MongoDB‘)https://www.cnblogs.com/lutt/p/10810581.html 本篇的内容是将存储到mongo的数 ...

  3. sparkR读取csv文件

    sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This met ...

  4. VB6.0 读取CSV文件

    最近做了一个Upload文件的需求,文件的格式为CSV,读取文件的方法整理了一下,如下: 1.先写了一个读取CSV文件的Function: '读取CSV文件 '假设传入的参数strFile=C:\Do ...

  5. php读取csv文件,在linux上出现中文读取不到的情况 解决方法

    今,php读取csv文件,在linux上出现中文读取不到的情况,google,后找到解决办法<?phpsetlocale(LC_ALL, 'zh_CN');$row = 1;$handle = ...

  6. 使用univocity-parsers创建和读取csv文件

    import com.univocity.parsers.csv.CsvFormat;import com.univocity.parsers.csv.CsvParser;import com.uni ...

  7. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  8. 转换成CSV文件、Word、Excel、PDF等的方法--读取CSV文件的方法

    1. 转换成CSV文件: http://www.dotnetgallery.com/lab/resource93-Export-to-CSV-file-from-Data-Table-in-Aspne ...

  9. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

随机推荐

  1. nfs 、ftp 和samba都有什么区别?

    NFS:Network File System 是已故的Sun公司制定的用于分布式访问的文件系统,它的本质是文件系统.主要在Unix系列操作系统上使用,基于TCP/IP协议层,可以将远程的计算机磁盘挂 ...

  2. Django REST framework+Vue 打造生鲜超市(十三)

    目录 生鲜超市(一)    生鲜超市(二)    生鲜超市(三) 生鲜超市(四)    生鲜超市(五)    生鲜超市(六) 生鲜超市(七)    生鲜超市(八)    生鲜超市(九) 生鲜超市(十) ...

  3. fastjson 的使用总结

    前言 最近在开发过程中使用了大量的json作为前后端数据交换的方式,由于之前没有对json做过系统的学习,所有在使用过程中查阅了大量的文档与资料,这里主要记录了我在开发后对json以及fastjson ...

  4. JDBC、DBUtils

    JDBC(Java Data Base Connectivity) java数据连接 可以为多种数据库,提供统一访问,它由一组用java语言编写的类和接口组成,也是java访问数据库的规范.   my ...

  5. 学习Layui 第一天

    Layui 官网说这是款经典模块化前端框架 个人觉得Layui很好用,容易上手. 在学习Layui的之前.先去官网下载必要的文件 将这些文件放入项目当中 然后可以到官网看一下示例. 可以做一个简单的表 ...

  6. R 网络图 nodes,edges属性计算

    前面提到了用R画网络图,免不了要对网络图nodes和edges的特征做一些统计.分享下我的代码: ########## nodes edges的统计########### # ####nodes的度有 ...

  7. 敏捷(Agile)——“说三道四”

    可以这么理解:一种以人为本.团队合作.快速响应变化和可工作的软件作为宗旨的开发方法.亦可理解为在一个高度协作的环境中,不断地使用反馈进行自我调整和完善,持续交付用户想要的软件的过程.敏捷开发提倡通过多 ...

  8. Java移位运算符详解实例

    移位运算符它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处 ...

  9. PAT1043:Is It a Binary Search Tree

    1043. Is It a Binary Search Tree (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ...

  10. PAT1083:List Grades

    1083. List Grades (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a l ...