我是靠谱客的博主 精明茉莉,最近开发中收集的这篇文章主要介绍python数据可视化练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、编写程序绘制下列数学表达式的图像:

(1)线性函数y=2x+6的图像。

import numpy as np
import matplotlib.pyplot as plt
# 调用
plt.rcParams['axes.unicode_minus']=False
# 用来正常显示负号
x = np.linspace(-10, 10, 100)
# 设置显示的域
y = 2 * x + 6
# 表达式
plt.plot(x, y, color='b', lw=1.0, label="f(x)")
# 实线,线宽1.0,红色
plt.title("y=2x+6", fontsize=18)
# 添加函数标签
plt.xlabel('x',fontsize=14)
# x轴标引
plt.ylabel('y',fontsize=14)
# y轴标引
plt.legend()
# 显示图例
plt.savefig("function_1.jpg")
# 保存图像
plt.show()
# 显示图像

(2)余弦三角函数y=cos⁡(2πx)的图像。

import numpy as np
import math
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False
x = np.linspace(-1, 1, 100)
y = np.cos(2*math.pi*x)
# 需要用np.cos()
plt.plot(x, y, color='b', lw=1.0, label="f(x)")
plt.title("y= cos(2πx)", fontsize=18)
plt.xlabel('x',fontsize=14)
plt.ylabel('y',fontsize=14)
plt.legend()
plt.savefig("function_2.jpg")
plt.show()

(3)函数f(x)=((sin(x−2))^2)*e^(−x2)的图像。

import numpy as np
import math
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False
x = np.linspace(-math.pi+2, 2+math.pi, 100)
y = ((np.sin(x-2))**2)*(np.power(math.e,-(x**2)))
plt.plot(x, y, color='b', lw=1.0, label="f(x)")
plt.title("y=(sin(x-2))^2)*(e^(-x^2)", fontsize=18)
plt.xlabel('x',fontsize=14)
plt.ylabel('y',fontsize=14)
plt.legend()
plt.savefig("function_3.jpg")
plt.show()

(4)多项式y=4x^5-10x^3+7x+x^(-2)+10的图像。

import numpy as np
import math
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False
x = np.linspace(-10, 10, 100)
y = 4*(x**5)-10*(x**3)+7*x+1/(x**2)+10
plt.xlim(-20, 20)
# 缩小显示域,提高细节显示
plt.ylim(-10, 40)
plt.plot(x, y, color='b', lw=1.0, label="f(x)")
plt.title("y=4x^5-10x^3+7x+x^(-2)+10", fontsize=18)
plt.xlabel('x',fontsize=14)
plt.ylabel('y',fontsize=14)
plt.legend()
plt.savefig("function_4.jpg")
plt.show()

2、采用random.choice((20,35),k=12)模拟一组随机温度值,绘制10点到12点的温度折线图(每10分钟一个温度值),观察温度的变化情况。

import random
import matplotlib.pyplot as plt
a = random.choices((20, 35), k=12)
# 生成温度列表
b = ["10:10", "10:20", "10:30", "10:40", "10:50", "11:00", "11:10", "11:20", "11:30", "11:40", "11:50", "12:00"]
plt.plot(b, a, linestyle="--", linewidth=3.0,color='g',marker='s')
# 虚线,线宽3.0,绿色,方框点
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.savefig('function_5.jpg')
plt.show()

3、绘制北京3,10月份每天白天的最高气温随时间(天)变化的散点图,并找出规律。 数据来源:天气网(北京历史天气查询_北京历史天气预报_北京历史天气记录_北京历史气温_天气网 )

  • 3月份数据如下
    a=[11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
  • 10月份数据如下
    b=[26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
  • a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
    b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
    plt.scatter(range(1,32),a,color='g',marker='*')
    # 1到31号,绿色,星形点
    plt.scatter(range(1,32),b,color='b',marker='o')
    # 1到31号,蓝色,圆形点
    plt.rcParams['font.sans-serif']=['SimHei']
    # 正常显示中文
    plt.xlabel("日期",fontsize=20)
    plt.ylabel("单日最高气温",fontsize=20)
    plt.annotate(xy=[31,23],s="3月温度最高点",fontsize=16)
    # 标定最高点,写个标注
    plt.annotate(xy=[3,28],s="10月份温度最高点",fontsize=16)
    # 同上
    plt.title("北京3,10月份每天白天的最高气温随时间(天)变化",fontsize=20)
    plt.legend(["3月份","10月份"], loc=1, frameon=True)
    plt.grid()
    #显示方格点
    plt.savefig('function_6.jpg')
    plt.show()
    print("3月份温度总体递增")
    print("10月份温度总体递减")

    4、假设你获取到了某年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?

  • a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","蝙蝠侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]a=["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","蝙蝠侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]

  • b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32] (单位:亿元)

  • import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif']=['SimHei']
    a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","蝙蝠侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]
    b = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55]
    c = []
    # 做个饼图
    for i in range(0,14):
    str_c = str(a[i]) + ":" + str(b[i]) + "亿元"
    c.append(str_c)
    # 这里和上面的几步是用来形成一个电影名和票房在一起的列表
    explode = (0.1,0,0,0,0,0,0,0,0,0,0,0,0,0)
    # 对最高票房进行突出(第一个)
    plt.pie(b, explode=explode, labels=c, autopct='%1.1f%%', shadow=True,startangle=0)
    # 立体饼图,从0度位置开始绘制
    plt.axis('equal')
    plt.title("各热门电影票房及占比")
    plt.savefig('function_7.jpg')
    plt.show()
    plt.plot(a, b, linestyle="--", linewidth=3.0, color='g', marker='s')
    # 再做个折线图
    plt.xlabel("电影名称",fontsize=20)
    plt.ylabel("票房/亿元",fontsize=20)
    plt.savefig('function_8.jpg')
    plt.show()

最后

以上就是精明茉莉为你收集整理的python数据可视化练习的全部内容,希望文章能够帮你解决python数据可视化练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部