最终实现的效果如图:

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

主要的步骤如下:
1.从.xlsx文件中读出制图所需要的的数据
2.使用matplotlib库绘图并保存

完整代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Aug 26 21:54:42 2020 @author: Milk
""" #import pandas as pd
import matplotlib.pyplot as plt
import xlrd '''下面两行决定中文字体的显示'''
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False '''从excel中读数据'''
path="E:\\WordExcel\\表格.xlsx"
file=xlrd.open_workbook(path)
data=file.sheet_by_name('Sheet1') colornum=data.col_values(1) #横坐标,读Sheet1的第二列
colornum=list(map(int,colornum)) #从xlrd中读出的数据为浮点型,需要转为整型
wordsnum=data.col_values(2) #纵坐标
wordsnum=list(map(int,wordsnum))
Fre=data.col_values(3) #气泡大小
Fre=list(map(int,Fre))
Type=data.col_values(4) #决定气泡颜色的类序号
Type=list(map(int,Type)) '''绘图'''
color=['white','violet','orange','blue','red'] #plt.scatter()函数中依据此设定颜色
size=Fre #依据Fre决定气泡的大小
plt.scatter(colornum,wordsnum,color=[color[i] for i in Type],s=size,alpha=0.6)
plt.xlim(-10,800)
plt.ylim(-2000,700000)
plt.xlabel("颜色词数") #设置横坐标标题
plt.ylabel("总字数") #设置纵坐标标题 plt.show() #保存图片
plt.savefig('./colorfre.png') #显示图片
12345678910111213141516171819202122232425262728293031323334353637383940

其中,excel表格中的数据大致长这个样子:

因为代码是根据D列的值显示气泡大小,所以对该列的数值需要根据需要合理地设置,既要考虑它是否真实地代表了数据间的相对性,也要看是否和生成的图片(即横纵坐标的值)契合,有时需要多试几次。

最新文章

  1. 急训 Day 1 (2)
  2. Spark集群 + Akka + Kafka + Scala 开发(3) : 开发一个Akka + Spark的应用
  3. PHP学习之登录以及后台商品展示
  4. Linux Programe/Dynamic Shared Library Entry/Exit Point && Glibc Entry Point/Function
  5. 简单的mysql封装类
  6. 【iOS】Quartz2D简单介绍
  7. Navicat
  8. HDU 4336 Card Collector 数学期望(容斥原理)
  9. C#之自定义特性
  10. Xcode8之后,苹果列出了最新App被拒十大原因
  11. Mybatis 元素内容必须由格式正确的字符数据或标记组成
  12. HTML5 常用标签整理
  13. PAT Basic 1012
  14. elasticsearch 一、环境配置
  15. python------模块定义、导入、优化 ------->Shelve模块
  16. JS学习 - offset家族(一)
  17. silverlight 图形报表开发
  18. java提高篇-----理解java的三大特性之封装
  19. 你不知道的C#ToString方法
  20. LightOJ 1282 Leading and Trailing (数学)

热门文章

  1. heap相关算法的简单实现
  2. 每日一道 LeetCode (6):有效的括号
  3. CAS(乐观锁)以及ABA问题
  4. 如何用Keil MDK5创建新项目
  5. 在Swoole上加速Laravel应用
  6. 自身写Android组合多个布局的经历
  7. 文档写作利器:Markdown
  8. Python | 面试的常客,经典的生产消费者模式
  9. 这几个冷门却实用的 Python 库,我爱了!
  10. BiMPM:Bilateral Multi-Perspctive Matching for Natural Language Sentences