在很多竞赛中,我们都会看到用python进行作图的部分,这是因为python有一系列强大的可视化和分析工具。比如,matplotlib和pygal都可以绘制图表。

一、matplotlib

导入:import matplotlib.pyplot  或者  from matplotlib import pyplot

折线图:plt.plot(x,y)            散点图:plt.scatter(x,y)       直方图:plt.hist(data,bins=条数)

设置坐标轴标签:plt.xlable("x")     plt.ylable("y")

设置图表标题:plt.title("xxx")

展示图表:plt.show()

若要保存为图片则使用:plt.savefig('xxx.png')

调整窗口大小:plt.figure(figsize=(x,y))

给点着色:plt.scatter(c='blue')

渐变色:plt.scatter(c=一个数值,cmap=plt.cm.Greens)

import matplotlib.pyplot as pltinput_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5)
"""1.1.1 设置标题、坐标轴标签、设置刻度标记大小"""
plt.title("Square Numbers",fontsize = 24)
plt.xlabel("Value",fontsize = 14)
plt.ylabel("Square of Value",fontsize = 14)
plt.tick_params(axis='both',labelsize = 14)
plt.show()
"""1.1.2 散点图"""
x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values,y_values,s = 50)
plt.show()
"""1.1.3 自定义颜色、颜色渐变"""
"""要让程序自动将图表保存到文件中,可将对plt.show()的调用替换为对plt.savefig()的
调用"""
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Greens,edgecolors='none',s=100)
plt.savefig('squares_plot.png')import matplotlib.pyplot as plt
from random_walk import RandomWalkrw = RandomWalk(50000)
rw.fill_walk()
"""1.2.1 设置窗口大小"""
plt.figure(figsize=(10,6))
"""1.2.2 给点着色"""
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,edgecolors='none',c=point_numbers,cmap=plt.cm.Reds,s=1)
"""1.2.3 突出起点和终点"""
plt.scatter(0,0,c='green',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='blue',s=100)
plt.show()

二、pygal

1.常见图表

线性图:pygal.Line() 饼图:pygal.Pie() 漏斗图:pygal.Funnel()
柱状图:pygal.Bar() 雷达图:pygal.Radar() 仪表盘:pygal.SolidGauge()
XY图:pygal.XY() 箱型图:pygal.Box() 树状图:pygal.Treemap()
散点图(XY图不要连线):pygal.XY(stroke=False) 点状图:pygal.Dot() 地图:这个已经改了,应该是在pygal_maps_world.maps中。

2.基本规则

以柱状图为例,实例化一个对象Chart = pygal.Bar()

添加表名:Chart.title = 'xxx'

坐标轴标签:Chart.x_title = 'x'      Chart.y_title = 'y'

坐标轴指定值:Chart.x_lables = []     #一个列表

添加数值:Chart.add('类别1',[] )      #一个列表

如果是XY图或散点图,在列表里以(x,y)表示每一项

输出图表:Chart.render_to_file('xxx.svg')

import pygal
from die import Diedie = Die()
results = []
"""投掷骰子"""
for roll_num in range(100):result = die.roll()results.append(result)"""计算点数出现的频率"""
frequencies = []
for value in range(1,die.num_sides+1):frequency = results.count(value)frequencies.append(frequency)"""绘制直方图"""
hist = pygal.Bar()
hist.title = "Results of Rolling one D6 100 times."
hist.x_labels = ['1','2','3','4','5','6']
hist.x_title = "Result"
hist.y_title = "Frequency of Result"
hist.add('D6',frequencies)
hist.render_to_file("die_visual.svg")

参考

Python编程:从入门到实践S

Pygal指南--Python下一代数据可视化库 - 简书

Python基础:数据可视化1相关推荐

  1. python基础——数据可视化

    本文大纲参考黑马程序员Python系列教程 目录 一.json数据格式 1.python数据转换为json类型数据 2.json字符串转换为python数据类型 二.pyecharts包介绍 1.安装 ...

  2. 【Python】数据可视化教程来了!

    来自:Datawhale????数据可视化小组 开源初衷 Matplotlib可以说是python数据可视化最重要且常见的工具之一,几乎每个和数据打交道的人都不可避免,还有大量可视化工具是基于它的二次 ...

  3. 【Python实现数据可视化】创建3D柱状图

    虽然matplotlib主要专注于绘图,并且主要是二维的图形,但是它也有一些不同的扩展,能让我们在地理图上绘图,让我们把Excel和3D图表结合起来.在matplotlib的世界里,这些扩展叫做工具包 ...

  4. 数据基础---数据可视化

    python中数据可视化 关于统计的几个概念 频率直方图 在统计数据时,按照频数分布表,在平面直角坐标系中,横轴标出每个组的端点(按类别统计时就是按类别分组),纵轴表示频数,每个矩形的高代表对应的频数 ...

  5. 【教程】Python科研数据可视化、MATLAB科研数据可视化

    在过去的20年中,随着社会产生数据的大量增加,对数据的理解.解释与决策的需求也随之增加.而固定不变是人类本身,所以我们的大脑必须学会理解这些日益增加的数据信息.所谓"一图胜千言", ...

  6. python实现数据可视化_使用Matplotib python实现数据可视化

    python实现数据可视化 I Feel: 我觉得: In today's digital world data has become as important as air. Machines &a ...

  7. python气象数据可视化学习笔记6——利用python地图库cnmaps绘制地图填色图并白化

    文章目录 1. 效果图 2. cnmaps简介及安装 2.1 写在前面 2.2 cnmaps简介和安装 3. 导入库 4. 定义绘图函数 4.1 使用get_adm_maps返回地图边界 4.2 ax ...

  8. Python数据分析-数据可视化(二)

    欢迎大家访问个人博客:https://jmxgodlz.xyz 文章目录 前言 Matplotlib 折线图格式调整 标签 线条颜色 线条形状 折点样式 线条透明度 前言 看到有些论文插图十分简洁美观 ...

  9. 视频教程-Python大数据可视化-Python

    Python大数据可视化 7年软件开发架构经验,12年IT培训经验,曾就职于拜特科技,金蝶软件,软酷网络等多家互联网公司.擅长Java EE,前端,iOS及大数据等技术方向的开发及教学.策划并撰稿大数 ...

  10. python处理数据可视化_数据整理101:使用Python提取,处理和可视化NBA数据

    python处理数据可视化 由Viraj Parekh | 2017年4月6日 (by Viraj Parekh | April 6, 2017) This is a basic tutorial u ...

最新文章

  1. SpringBoot+Redis环境搭建
  2. CCNA重点难点:思科交换机生成树配置
  3. centos7修改密码
  4. core webapi缩略图_netcore 图片缩略图
  5. antdesign 地图_React 使用recharts实现散点地图的示例代码
  6. SQLAlchemy Mapping Class Inheritance Hierarchies
  7. 流程建设过程中个人和团队可能面临的问题
  8. ormlite更改数据库默认位置
  9. 通过AT指令实现ESP8266模块和TCP服务器的数据传输
  10. 2.Shell 编程从入门到精通 --- Shell编程基础
  11. Unity3D放破解反编译。DLL加密,mono解密。全程详解。
  12. GIMP制作电子签名
  13. matlab工具箱计算最小生成树_数学建模【图与网络模型(图的基本概念与数据结构、最短路-最小生成树-网络最大流问题、Matlab图论工具箱、渡河问题、钢管的订购与运输)】...
  14. excel中的菜单栏自定义_如何在Excel中自定义和使用状态栏
  15. android tv 盒子,安卓TV电视盒子推荐软件一览表(盒子端+手机端+电脑端+群晖端)...
  16. Flutter中使用shared_preferences本地存储
  17. tree traversal (树的遍历) - inorder traversal (中序遍历)
  18. 戴尔微型计算机3048,戴尔5460一体机拆解,戴尔3048一体机
  19. ebp/栈帧/call stack
  20. css写阴影颜色渐变,css3——阴影(立体感,层次效果),渐变色按钮

热门文章

  1. 思维题 URAL 1409 Two Gangsters
  2. 前端培训班出身——吐槽下16年的艰辛
  3. 前端培训班学习哪家比较好
  4. Cas实现子系统登录互踢
  5. SpringCloud使用Nacos实现配置管理
  6. Google OR-Tools简介
  7. 异常捕获--编译开关EHsc、EHa
  8. LeetCode 917(C#)
  9. macOS怎样备份?备份Mac文件的最佳方法
  10. Android 获取手机IP