excel 画图_python处理excel(05)高大上的数据可视化【柱状图】

  1. 原表数据。是2016年留学生所学的领域人数分布。可以看到是按Field字母排序的。

c8731f5c870a5f84cad409ca3d525de3.png

2. 我们可以用柱状图和饼图来分析这个数据。柱状图是为了做比较。饼图来看每个专业所占比例。柱状图为了区分互相之间谁高谁低。excel里操作,选中所有数据区域,点击插入,选柱状图,普通的柱状图即可。

fa53bf68086770c49351a40e21080d76.png

比如我们想排个序,直接选数据区域排序,从高到底排序number,可以看到柱状图也对应发生了变化。

8c963af803d08d669e603e03aaf6d4a5.png

376e447140ef4db3a499239ffb2b30ad.png

3. 那么我们怎么样pandas来做这件事呢?

首先还是第一步,读取数据。

c7cdb6efcf364408a97f1b808415b894.png

pandas的制图工具,在库 matplotlib 里。他的图标是文件夹,如果是文件夹,要用他下边的某个module,python图标的。我们用的是matplotlib.pyplot。

fd2ef6c32b0e73d11a5004274880c22d.png

84a31a1bcc5d8741e0dbc144a600c96a.png

5503c6638bb9a22f8e5c0c811f4c8f09.png
对图片进行修饰

pandas只能做一些中规中矩的图。要想做炫酷的图,还需要使用matplotlib来绘图。

b387618772376c427c0e907f793ba583.png

e5873a4ff6e7c069233392ebb86de45d.png

可以发现用matplotlib来制图要灵活的多。

保存图表到桌面可以通过这里。

c1eb30877ac33b4b0f81b32836bb5f64.png

二、在这个拼颜值的时代,做个图也不例外。我们继续看图表的深度优化。

  1. 原表数据,有2016年和2017年的数据。这样方便做对比。

d855dfbed9fab59e8270ed2e07b0ca1a.png

2. 我们在excel里可以这样操作作图。直接选中所有数据,插入,柱状图。

582e0d05e12a2d8658931753d055a256.png

按2017年的数据从大到小排序。

dd5902a0f208f44a356e813ed3b4a9c7.png

3. 第一步,读取数据。

e074bd9c085a33a9908168ef1a228139.png

4. 一组数据。

ccc9f921ff347e14a8373aa659ea9e22.png

5. 两组数据的话,y轴就是个list.

f00175754ba6b4f5bc561a8e8de04be6.png

6. 继续优化,加title

我们在这儿加title是不能调节他的字号粗体啥的。我们知道pandas的绘图是基于matplotlib的。他也更灵活。

54f4863e740bd52fdb41a2d75cb7a67c.png

标签旋转,旋转完成这样了。其实他默认是按标签的中点来旋转的。所以我们需要做下处理。

688381b264a3ae6da3f7391d48cb89b6.png

91497c9096d63c23459d5bd383e93b60.png

13f15a0723ed2b5bf1319d66e0782787.png

贴个成品图。好有成就感。

6e322c9d8d7f282c297a9e6c1991976b.png

三、 叠加水平柱状图

  1. 原表数据,用户id,用户名字,后三列分别为10月、11月、12月一共使用了我们产品多少次。我们要看用户三个月一共使用了多少次产品。就使用到了叠加柱状图。

25f598d0cf7c034ec4e064aed2a791d2.png

2. 在excel里操作。

e278a49197b5ebbf87695735f1af29b2.png

我们用成横向柱状图,比较清晰。

ebf47213683cd302419c44d36896922b.png

3. 下面我怎么看怎么在python里实现。

打印数据。

826d8fb8c4cf336352af549bfa388797.png

4. 直接画图出来,是画了柱状对比图。

ae20cd6acabdf71361d3e2aa16295625.png

5. 画为柱状叠加图。柱状叠加图参数 stacked=True。

73990932de5dc07d34eca6eb5738763a.png

6. 按总数值排序。

4cb179dc768fa95e1c4f763e8c2a2103.png

7. 我们把柱状图转换成横向的。

864eadd77f08d00860cc1995c4706657.png

但是发现,从上到下值越来越大,和我们一开始想按从大到小的顺序排是不一致的。因为我们为竖方向的时候,距离原点的地方也是最大值。横向了也一致。所以我们要按原数据从小到大排序。

齐活。

8daf2fc6be7166f22277d3c0f0ecc4a8.png

放张大图。

7268fabb394e293a6d853cb13e5b5dad.png

2019.3.16

橘子

Matplotlib是一个流行的Python可视化库,它可以用来绘制各种类型的图表,包括线图、散点图、柱状图、饼图等等。在本文中,我们将介绍如何使用Matplotlib绘制多个变量的图表。 首先,我们需要导入Matplotlib库,并生成一些数据用于绘图。例如,我们可以使用NumPy库生成一些随机数据: ```python import matplotlib.pyplot as plt import numpy as np # 生成数据 x = np.linspace(0, 10, 100) y1 = np.sin(x) y2 = np.cos(x) ``` 接下来,我们可以使用Matplotlib的plot函数绘制两个不同的线图: ```python # 绘制两个线图 plt.plot(x, y1, label='sin') plt.plot(x, y2, label='cos') # 添加图例 plt.legend() # 显示图表 plt.show() ``` 这将生成一个包含两个线图的图表,并在图例中显示每个线的标签。 如果我们想要绘制一个包含多个变量的图表,我们可以使用Matplotlib的subplot函数创建多个子图。例如,我们可以使用如下代码创建一个包含两个子图的图表: ```python # 创建包含两个子图的图表 fig, axs = plt.subplots(2) # 在第一个子图中绘制sin函数 axs[0].plot(x, y1) axs[0].set_title('sin') # 在第二个子图中绘制cos函数 axs[1].plot(x, y2) axs[1].set_title('cos') # 调整子图之间的间距 plt.tight_layout() # 显示图表 plt.show() ``` 这将生成一个包含两个子图的图表,每个子图都包含一个变量的图表。我们可以通过调整subplot函数的参数来创建包含更多子图的图表。 除了使用subplot函数,Matplotlib还提供了许多其他的绘图函数和工具,可以帮助我们创建各种类型的图表。例如,我们可以使用scatter函数创建散点图,使用bar函数创建柱状图,使用pie函数创建饼图等等。Matplotlib的文档中包含了详细的说明和示例,可以帮助我们学习如何使用这些功能来绘制各种类型的图表。 总之,Matplotlib是一个功能强大的Python可视化库,可以帮助我们创建各种类型的图表。通过使用subplot函数和其他绘图函数,我们可以轻松地绘制包含多个变量的图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值