一,从本地加载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. 批处理(Batch)---批处理脚本。

    批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat .目前比较常见的批 ...

  2. CSS层叠和继承

    CSS具有两个核心的概念--继承和层叠.一般文本类的属性会被继承,即某个元素的CSS属性会传递给内部嵌套的元素.一个元素可能有一个或者多个样式的来源,当属性发生冲突时,就会根据加载顺序和权重大小决定层 ...

  3. js基础--浏览器标签页隐藏或显示状态 visibility详解

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 在工作中我们可能会遇到这样的需求,当浏览器切换到别的标签页或着最小化时,我们需要暂停页面上正在播放的视频或者音乐,这个需求 ...

  4. 关于Java的散列桶, 以及附上一个案例-重写map集合

    为速度而散列: SlowMap.java说明了创建一个新的Map并不困难.但正如它的名称SlowMap所示,它不会很快,如果有更好的选择就应该放弃它.它的问题在于对键的查询,键没有按照任何特定的顺序保 ...

  5. 我热爱Coding,但厌恶这个IT互联网

    在我十岁的时候,我觉得这个世界上没有什么东西能比我老爸的那台破电脑更好玩的了.后来,我成为一名Web开发爱好者.大学毕业之后,我在一个软件公司工作,那个时候赚得并不多.再后来,我成为一名正式的Web开 ...

  6. DataSourceBuilder.create().build()

    Spring Boot also provides a utility builder class DataSourceBuilder that can be used to create one o ...

  7. 浅谈服务间通信【MQ在分布式系统中的使用场景】

    解决的问题 一项技术的产生必然是为了解决问题而生,了解了一项技术解决的问题,就能够很轻松的理解这项技术的设计根本,从而更好地理解与使用这项技术. 消息中间件和RPC从根本上来说都是为了解决分布式系统的 ...

  8. 由HashMap哈希算法引出的求余%和与运算&转换问题

    1.引出问题 在前面讲解HashMap 的源码实现时,有如下几点: ①.初始容量为 1<<4,也就是24 = 16 ②.负载因子是0.75,当存入HashMap的元素占比超过整个容量的75 ...

  9. tkinter属性(总结)

    一.主要控件 1.Button 按钮.类似标签,但提供额外的功能,例如鼠标掠过.按下.释放以及键盘操作事件 2.Canvas 画布.提供绘图功能(直线.椭圆.多边形.矩形) 可以包含图形或位图 3.C ...

  10. 关于bootstrap两个模态框的问题

    今天不知道为什么,其中一个模态框无法正确触发,但是将两个模态框在body里的顺序调一下就都可以正确触发.