matplotlib绘图与实战以及pyecharts的简单使用

本文详细介绍了如何使用matplotlib进行数据可视化,包括季度销售表的制作、多图形绘制、文件数据及网络API数据的绘图。此外,还探讨了pandas与matplotlib结合简化数据可视化的应用,如直方图、箱线图、条形图、折线图等。最后,文章深入讲解了pyecharts库,展示了柱状图、折线图、饼图、散点图和词云等多种图表的绘制技巧,以及动态效果的实现。
摘要由CSDN通过智能技术生成

matplotlib绘图与实战以及pyecharts的简单使用

首先,导入需要的模块

import numpy as np
import matplotlib.pyplot as plt
# 用  处理中文,正常显示
plt.rcParams['font.sans-serif']=['SimHei']
#处理 负号,正常显示
plt.rcParams['axes.unicode_minus']=False
import pandas as pd
from pandas import Series,DataFrame

实战1-制作季度销售表

其中,横坐标为1-4个季度,显示网格,填写标题,设置图柱上面的文字

# 取出一张图纸
plt.figure(1)
#确定图像的位置
#subplot(xyz),长宽,画布的第几个
ax1 = plt.subplot(111)
#准备数据
data = np.array([15,20,18,25])
x_bar = np.arange(4)

rect = ax1.bar(x=x_bar,height=data,width=0.5,color='#add86e')

#使用循环,给每一个柱子设置文字的起点位置
for i in rect:
    x = i.get_x()
    #print(x)
    height = i.get_height()
    #print(height)
    
    #设置 bar柱上的文字
    #语法: ax1.text(x,y,str)
    ax1.text(x+0.15,height+0.2,str(height)+'W')
#设置x轴
ax1.set_xticks(x_bar)
ax1.set_xticklabels(["第一季度","第二季度","第三季度","第四季度"])
#ax1.set_xlabel和plt_xlabel是一样的含义
ax1.set_ylabel('销售(单位:万/件)')
ax1.set_title("2017季度销售表")
ax1.grid(True)#显示网格
ax1.set_ylim(0,30)#设置y轴的范围
plt.show()

结果显示:
image_1cphclp039o8v1td7vju4do9.png-23.9kB

同画布上绘制多图形

在同一块画布上创建两个图形

#新建一张画布
#设置画布大小,以及像素
plt.figure(figsize=(6,6),dpi=80)
plt.figure(1)
plt.subplot(211)#划分eow column 以及 index定位
plt.plot([1,2,3],[1,2,3])
plt.title("画板1:画布1")
plt.subplot(212)
plt.plot([1,2,3],[1,2,3])
plt.title("画板1:画布2")

结果显示:
image_1cphd2a3b1lu017be1t4u1gd0v3qm.png-20.5kB

加载文件并绘图

打开所需要的文件,并对其图形化显示

import csv
x=[]
y=[]
with open("matplotlib数据/csv/matplotlib-demo.csv","r") as csvfile:
    lines=csv.reader(csvfile,delimiter=",")
    for each in lines:
        #别忘了将str转换为int
        x.append(int(each[0]))
        y.append(int(each[1]))
#编写图例
plt.plot(x,y,label="csv数据")
plt.title("从文件中加载数据并显示")
#显示图例
plt.legend()
plt.ylim(0,9)#设置y轴的范围
plt.xlim(0,9)
plt.show()

结果显示:
image_1cphd775i1rnp88tqhlaf21q2j20.png-40.3kB

从网络api加载数据并绘图

import urllib
import json


url='https://api.douban.com/v2/book/1220562'
json_object=urllib.request.urlopen(url).read().decode()

data=json.loads(json_object)

tags=data["tags"]
print(tags)

x=[]
y=[]
for each in tags:
    x.append(each["name"])
    y.append(each["count"])
plt.bar(x,y,label="图书搜索热词")
plt.legend()
plt.xlabel("搜索的词条")
plt.ylabel("搜索排名")
plt.show()

使用numpy简化代码

以上代码可以简化成以下形式

x,y=np.loadtxt("matplotlib数据/csv/matplotlib-demo.csv",delimiter=",",unpack=True)
#编写图例
plt.plot(x,y,label="csv数据")
plt.title("从文件中加载数据并显示")
#显示图例
plt.legend()
plt.ylim(0,9)#设置y轴的范围
plt.xlim(0,9)
plt.show()

s=Series(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值