Python-数据思维-6.3Matplotlib数据可视化1

第1关:matplotlib绘图基础

本关任务:按提示的要求使用matplotlib绘图,一共要求完成3个函数的设计,分别绘制线图、饼图和条形图,绘制图形的数据已在函数中指定,函数的参数是一个图片文件名,请将图片的绘制结果保存到这个图片中,图片的dpi使用默认值即可。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='simHei' #显示汉字
plt.rcParams['axes.unicode_minus'] = False  #显示负号

def DrawLine(output_name):
    x=np.arange(0,2*np.pi,0.1)
    y1=np.sin(x)
    y2=np.sin(x*2)
    plt.figure('fig1')
    ########## begin ##########
    # 请在此填写代码,分别使用数据(x,y1)和(x,y2)绘制线图
    plt.plot(x,y1,'r-')
    plt.plot(x,y2,'b-')
    plt.title('不同周期正弦曲线')
    plt.xlabel('自变量')
    plt.ylabel('因变量')
    plt.legend(['2π周期','π周期'],loc='upper right')
    plt.savefig(output_name)#,保存图片名称和分辨率
    ########## end ##########   
        
def DrawPie(output_name):
    sales=[1528,796,543,1046,865,] #手机店上月各品牌手机销量
    brands=['华为', 'vivo', 'oppo', '小米', '苹果'] #品牌列表
    plt.figure('fig2')
    ########## begin ##########
    # 请在此填写代码,绘制手机销量的饼图
    plt.pie(sales,[0.1,0,0,0,0],brands,autopct='%.1f%%')#数据,分离度,标签,格式
    plt.title('手机销量')
    plt.savefig(output_name)
    ########## end ##########   

def DrawBar(output_name):
    avg_scores = np.array([80.54, 78.46, 74.68, 82.35]) #各班考试平均分
    class_name = ['机械1班', '机械2班', '电气1班', '电气2班']
    plt.figure('fig3')
    ########## begin ##########
    # 请在此填写代码,绘制各班平均成绩的条形图
    plt.bar(class_name,avg_scores) #x轴序列,y轴序列
    plt.xlabel('班级')
    plt.ylabel('平均成绩')
    plt.savefig(output_name)
    ########## end ##########   

第2关:将numpy数组和pandas电子表格数据可视化

我们在第一关练习了使用matplotlib进行线图、饼图和条形图绘制的基本方法,本关我们练习使用numpy或pandas从文件中载入数据,然后用matplotlib对这些数据进行可视化。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import pandas as pd
matplotlib.rcParams['font.family']='simHei' #显示汉字
plt.rcParams['axes.unicode_minus'] = False  #显示负号

#input_name:输入的excel文件名
#output_name:输出的图片文件名
def DrawLine(input_name, output_name):
    plt.figure('fig1')
    ########## begin ##########
    # 请在此填写代码,绘制开盘价和收盘价的线图,日期为横轴
    df1=pd.read_excel(input_name)
    plt.plot(df1.日期,df1.开盘,'b-v')
    plt.plot(df1.日期,df1.收盘,'r-v')
    plt.title('开盘价与收盘价对比图')
    plt.xlabel('日期')
    plt.ylabel('股价')
    plt.legend(['开盘价','收盘价'],loc='upper right')
    plt.savefig(output_name)#,保存图片名称和分辨率
    ########## end ##########   
    
    
#input_name:输入的csv文件名
#output_name:输出的图片文件名
def DrawBar(input_name, output_name):
    plt.figure('fig2')
    ########## begin ##########
    # 请在此填写代码,绘制各年度的国内生产总值的条形图
    df1=pd.read_csv(input_name,names=['年度','国内生产总值','第一产业','第二产业','第三产业'])
    plt.bar(df1.年度,df1.国内生产总值)
    plt.xlabel('年度')
    plt.ylabel('国内生产总值')
    plt.savefig(output_name)
    ########## end ##########   

难度并不大,就是要求对matplotlib基本用法有了解和初步掌握。

求求三连。。

你可能感兴趣的:(python数据处理,头歌,python,开发语言,后端,经验分享,算法)