Python—数据分析与可视化编程

目标:

掌握numpy模块基本操作;
掌握matplotlib模块基础操作;
掌握pandas模块基础操作。

内容:

1.编写程序,利用pyplot将绘图区域划分成2*1个子绘图区域,并在每个区域中生成坐标系,如下图:(提示:直线数组为np.arange(0, 101))
在这里插入图片描述
2.现有如图9-15所示的股票数据:
按以下要求操作。
(1)仿照图9-15的表格,创建一个DataFrame对象。
(2)使用条形图展示股票数据,其中证券简称为x轴、最新价为y轴。
(3)将条形图以shares——bar.png为文件名保存在桌面上。

步骤:

1.编写程序,利用pyplot将绘图区域划分成2*1个子绘图区域,并在每个区域中生成坐标系,如下图:(提示:直线数组为np.arange(0, 101))

代码如下:

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
data = np.arange(0,101)
plt.subplot(211)
plt.plot(data.data)
plt.subplot(212)
plt.plot(data,-data)
plt.show()

运行结果:
在这里插入图片描述
2.现有如图9-15所示的股票数据:
按以下要求操作。
(1)仿照图9-15的表格,创建一个DataFrame对象。
(2)使用条形图展示股票数据,其中证券简称为x轴、最新价为y轴。
(3)将条形图以shares——bar.png为文件名保存在桌面上。

代码如下:

# -*- coding: utf-8 -*-
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
plt.rcParams['font.sans-serif']='FangSong'
plt.rcParams['axes.unicode_minus']=False
np.arange(0,11)
###(1)仿照图9-15的表格,创建一个DataFrame对象###
df=pd.DataFrame({'证券代码 ':['000609','000993','002615','000795','002766',
                          '000971','000633','300173','30 0279','000831'], 
                 '证券简称':['中迪投资','闽东电力','哈尔斯','英洛华','索菱股份',
                         '高升控投','合金投资','智慧松德','和晶科技','五矿稀土'], 
                 '最新价':[4.80,4.80,5.02,3.93,6.78,3.72,4.60,4.60,5.81,9.87], 
                 '涨跌幅%':[10.09,10.09,10.09,10.08,10.06,10.06,10.06,10.05,
                         10.05,10.04]})
###(2)使用条形图展示股票数据,其中证券简称为x轴、最新价为y轴###
s1=df['证券简称'] 
s2=df['最新价'] 
plt.figure(figsize=(12,6),facecolor='white') 
plt.bar(s1,align = 'center',height=s2,width=0.8,alpha=0.8) 
plt.yticks([0,1,2,3,4,5,6,7,8,9,10])  
plt.xlabel("证券简称") 
plt.ylabel("最新价") 
plt.title("各证券最新价格") 
###(3)将条形图以shares——bar.png为文件名保存在桌面上###
plt.savefig(r'E:\pywork\shares--bar.png') 
plt.show()

运行结果:
在这里插入图片描述

心得:

1.函数将整个绘画区域等分,题一中要求划分一个2*1子绘图区域,因此通过subplot(nrows,ncols,index)可以很快得到自己需要图形区域准确的画出图形,同时还可以使用subplots(nrows,ncols,index)一次性生成多个坐标系。

2.错误:条形图字体看不清楚以及第一条中迪投资条形图不完整,图形整体呈现不好。
在这里插入图片描述
修改:
(1)将SimHei字体更改为FangSong字体;
(2)在绘制条形图函数中添加了align = ‘center’,代码如下:
plt.bar(s1,height=s2,width=0.8,alpha=0.8) ,最终条形图x轴刻度标签为水平居中。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y_ni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值