python数据可视化

生成数据

绘制折线图

import matplotlib.pyplot as plt

input = [1, 2, 3, 4, 5, 6, 7]
s = [1, 2, 3, 67, 8, 20, 9]
plt.plot(input, s, linewidth=1)  # 绘制图形
plt.title("here is title", fontsize=24)  # 图像标题
plt.xlabel("value", fontsize=14)  # x轴说明
plt.ylabel("values", fontsize=14)
plt.tick_params(axis='both', labelsize=14)  # 设置刻度

plt.show()  # 打开matplotlib查看器,显示绘制的图形

在这里插入图片描述

绘制散点图

import matplotlib.pyplot as plt

input = [1, 2, 3, 4, 5, 6, 7]
s = [1, 2, 3, 67, 8, 20, 9]
plt.scatter(input, s, c='red', s=200)  # c自定义颜色,s设置点的尺寸
# plt.scatter(input, s, c=(0,0.8,0), s=40, edgecolors='none')  # RGB指定颜色
plt.title("here is title", fontsize=24)  # 图像标题
plt.xlabel("value", fontsize=14)  # x轴说明
plt.ylabel("values", fontsize=14)
plt.tick_params(axis='both', which='major', labelsize=14)  # 设置刻度
plt.savefig('filename')  # 自动保存图片,在程序的同级目录下,文件名filename
plt.show()

在这里插入图片描述

随机漫步

生成随机漫步坐标:

from random import choice

class RandWalk():
    """定义一个随机漫步类"""

    def __init__(self, walk_num=5000):
        self.walk_num = walk_num
        self.x = [0]
        self.y = [0]

    def walk(self):
        while len(self.x) < self.walk_num:
            dx = choice([-1, 1])
            distance_x = choice([0, 1, 2, 3, 4])
            delta_x = dx * distance_x

            dy = choice([-1, 1])
            distance_y = choice([0, 1, 2, 3, 4])
            delta_y = dy * distance_y

            if delta_y==0 and delta_x==0:
                continue

            self.x.append(self.x[-1] + delta_x)
            self.y.append(self.y[-1] + delta_y)


绘制随机漫步散点图:

import matplotlib.pyplot as plt
from randwalk import RandWalk
rand_walk = RandWalk()
rand_walk.walk()
plt.figure(dpi=1920, figsize=(10, 6))  # 分辨率,调整绘图窗口的尺寸
piont_num = list(range(rand_walk.walk_num))
plt.scatter(rand_walk.x[0], rand_walk.y[0], c='red', s=50)
plt.scatter(rand_walk.x[-1], rand_walk.y[-1], c='green', s=50)
plt.scatter(rand_walk.x, rand_walk.y, c=piont_num, cmap=plt.cm.Blues, s=1)
# 以蓝色渐变显示随机漫步的顺序
plt.savefig('filename')  # 自动保存图片,在程序的同级目录下,文件名filename
# plt.show()

在这里插入图片描述

网页直方图

直方图数据:

from random import randint

class Die():
    """定义一个模拟掷色子的类"""

    def __init__(self, num=6):
        """色子默认六面"""
        self.num = num

    def roll(self):
        """随机掷色子"""
        return randint(1,self.num)

生成直方图:

from  die import Die
import pygal

die = Die()
result = []
for r in range(1000):
    result.append(die.roll())

frequency = []
for i in range(1, die.num+1):
    frequency.append(result.count(i))
print(frequency)

hist = pygal.Bar()
hist.title = "Result"
hist.x_labels = ['1', '2', '3', '4', '5', '6']
hist.x_title = 'result'
hist.y_title = 'value'

hist.add('Die6', frequency)  # 将一系列值添加进图表,并指定标签
hist.render_to_file('die.svg')  # 将图表渲染为一个svg文件

在这里插入图片描述
在这里插入图片描述

处理csv文件格式

数据作为一系列以逗号分隔的值写入文件,这样的文件就称为CSV文件。
在这里插入图片描述

import csv
import matplotlib.pyplot as plt
"""数据作为一系列以逗号分隔的值写入文件,这样的文件就称为CSV文件"""
filename = 'sitka_weather_2014.csv'
with open(filename) as f:
    read = csv.reader(f)
    first_cow = next(read)  # 取出第一行
    # for i, value in enumerate(first_cow):
    #     print(i, value)

    # 将第二列数据读入一个列表中
    high = []
    low = []
    for v in read:  # 每一行
        high.append(int(v[1]))  #取第二列
        low.append(int(v[3]))

plt.figure(figsize=(10, 6))
plt.plot(high, c='red')  # s设置点的尺寸
plt.plot(low, c='green')
plt.title("here is title", fontsize=24)  # 图像标题
plt.xlabel("value", fontsize=14)  # x轴说明
plt.ylabel("values", fontsize=14)
plt.tick_params(axis='both', which='major', labelsize=14)  # 设置刻度
plt.show()

在这里插入图片描述

API

https://api.github.com/search/repositories?q=language:python&sort=stars

https://api.github.com/将请求发送到GitHub网站中响应API的部分;search/repositories让API搜索GitHub上所有仓库;repositories后面的问号指出我们要传一个实参。q表示查询,等号让我们能够开始指定查询。language:python,指出我们只想获取主要语言为python的仓库的信息。最后&sort=stars指定项目按获得的星级排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值