【数据分析】基础技术篇 三——matplotlib
matplotlib
https://matplotlib.org/
基本线图绘制
1.
import matplotlib.pyplot as plt
import numpy as npdef main():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c)plt.plot(x, s)plt.savefig('1.png')plt.show()if __name__ == '__main__':main()
2.添加属性:
def main2():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('2.png')plt.show()
注意:‘r*’,表示的是red,和线形状是*,于是有了图中看起来不平滑。
3.
def main3():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('3.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))plt.show()
4.
def main4():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('3.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.show()
5.
def main5():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('5.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.legend(loc='upper left')#设置左上角图例# plt.axis([-1, 1, 0.5, 1])#设置显示范围plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color='green', alpha=0.25)#填充颜色plt.grid()#网格线可视plt.show()
6.
def main6():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('5.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.legend(loc='upper left')#设置左上角图例# plt.axis([-1, 1, 0.5, 1])#设置显示范围plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color='green', alpha=0.25)#填充颜色t = 1plt.plot([t, t], [0, np.cos(t)], 'y', linewidth=3, linestyle='--')#添加注释plt.annotate('cos(1)', xy=(t, np.cos(1)), xycoords='data', xytext=(+10, +30), textcoords="offset points", arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=.2'))plt.grid()#网格线可视plt.show()
子图与多种图形绘制
1.
#scatter 散点图
def main7():fig = plt.figure()fig.add_subplot(3, 3, 1)n = 128X = np.random.normal(0, 1, n)Y = np.random.normal(0, 1, n)T = np.arctan2(Y, X)plt.axes([0.025, 0.025, 0.95, 0.95])plt.scatter(X, Y, s=75, c=T, alpha=0.5)plt.xlim(-1.5, 1.5)plt.xticks([])plt.ylim(-1.5, 1.5)plt.yticks([])plt.axis()plt.title('scatter')plt.xlabel('x')plt.ylabel('y')plt.show()
2.柱状图
#bar 柱状图
def main8():fig = plt.figure()# ax = fig.add_subplot(332)n = 10X = np.arange(n)Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')plt.bar(X, -Y1, facecolor='#ff9999', edgecolor='white')for x, y in zip(X, Y1):plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')for x, y, in zip(X, Y2):plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')plt.show()
3.饼状图
#pie 饼图
def main9():fig = plt.figure()# fig.add_subplot(333)n = 20Z = np.ones(n)Z[-1] *= 2plt.pie(Z, explode=Z * .05, colors=['%f' % (i / float(n)) for i in range(n)],labels=['%.2f' % (i / float(n)) for i in range(n)])plt.gca().set_aspect('equal')plt.xticks([])plt.yticks([])plt.show()
set_aspect('equal')设置成正的圆形
4.极值图
#polar 极值图
def main10():fig = plt.figure()# fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)plt.plot(theta, radii)plt.show()
稍微调整一下 !!!
#polar 极值图
def main10():fig = plt.figure()fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)plt.plot(theta, radii)plt.show()
还可以这样
#polar 极值图
def main10():fig = plt.figure()# fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)# plt.plot(theta, radii)plt.polar(theta, radii)plt.show()
5.热图
#heatMap 热图
from matplotlib import cm
def main11():fig = plt.figure()data = np.random.rand(3, 3)cmap = cm.Bluesmap = plt.imshow(data, interpolation='nearest',cmap=cmap, aspect='auto', vmin=0, vmax=1)plt.show()
6.3D图
#3D图
from mpl_toolkits.mplot3d import Axes3D
#引入3D坐标系
def main12():fig = plt.figure()ax = fig.add_subplot(projection='3d')ax.scatter(1, 1, 3, s=100)plt.show()
7. hot map 热力图
#hot map 热力图
def main13():fig = plt.figure()def f(x, y):return (1 - x / 2 + x ** 5 + y ** 3) \* np.exp(-x ** 2 - y ** 2)n = 256x = np.linspace(-3, 3, n)y = np.linspace(-3, 3, n)X, Y = np.meshgrid(x, y)plt.contourf(X, Y, f(X, Y), 8, alpha=.75,cmap=plt.cm.hot)plt.show()
【数据分析】基础技术篇 三——matplotlib相关推荐
- python数据分析基础技术篇_HTML5小游戏---爱心鱼(上)
大大米 2020-03-05 5.大鱼吃果实的碰撞检测 原理: 检测大鱼和果实的距离 截图 0赞 · 0采集 大大米 2020-03-05 4.画大鱼,身子,尾巴,眼睛 使用到的API transla ...
- 数据分析(一)- 数据分析基础及matplotlib
目录 为什么要学习数据分析 什么是数据分析 环境安装 认识jupyter notebook matplotlib matplotlib绘制折线图 plt.plot maplotlib基础绘图 设置图片 ...
- python数据分析基础001 -matplotlib的基础绘图
前言 大家好,我是苏凉,在前面我们已经学习了网络爬虫并且获取到了数据,接下来当然是对数据进行分析啦,本篇文章带大家进入新的模块:pyhon数据分析基础001 -matplotlib的基础绘图. 文章目 ...
- Matplotlib基础(三)---- 图例标签、刻度、标题和边线
Matplotlib基础(三)---- 图例标签.刻度.标题和边线 在平时处理数据的时候,因为数据可视化更能显示数据的关系.而python中的matplotlib库很好地提供了我们2D绘图的方式.于是 ...
- python部分引入total值的问题_Python数据分析基础与过程综述,关键数据预处理异常点的发现与处理,python,及,流程,回顾,重点,之,值...
一. python数据分析基础库的导入 基本是固定搭配 import numpy as np #科学计算基础库,多维数组对象ndarray import pandas as pd #数据处理库,Dat ...
- python Numpy 的基础用法以及 matplotlib 基础图形绘制
python Numpy 的基础用法以及 matplotlib 基础图形绘制 1. 环境搭建 1.1 Anaconda anaconda 集成了数据分析,科学计算相关的所有常用安装包,比如Numo ...
- python 数据分析基础 day1-初窥内容
在读这本书之前,我已经有开始学python,用的是anaconda 的jupyter notebook. 看了<python 数据分析基础>的前言部分,发现这本书的实用性很高,其讲解的内容 ...
- python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...
//2019.07.10 python数据分析基础--numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面: (1)numpy ...
- 泰坦尼克号 数据分析_第1部分:泰坦尼克号-数据分析基础
泰坦尼克号 数据分析 My goal was to get a better understanding of how to work with tabular data so I challenge ...
最新文章
- 3.3.2 函数参数不得不说的几件事
- Case Study: 利用PHP获取关系型数据库中多张数据表的数据
- 以太经典(ETC)逆势上涨,将逆袭反超以太坊(ETH)?
- cctype 头文件定义函数实例
- “Info.plist” couldn’t be removed
- HDU - 3804 Query on a tree(树链剖分+线段树+离线处理)
- 三分钟总览微软任务并行库TPL
- 基础系列(1)-- html
- iphone 利用UIImageView来制作幻灯片
- 移动硬盘格式化后如何数据恢复?
- python 模拟键盘_用Python模拟键盘输入
- 谈谈机器学习(Machine Learning)大牛
- 小武与YOLOv3----优图代码
- 最短路——大胖子走迷宫
- 项目管理工作中的一些自我反省
- CSS系列之连续的字母或数字在Html盒子中不会自动换行,直接溢出
- 发送webService请求BPM流程
- 电信天翼云搭建Halo博客
- 惠普服务器cpu芯片,惠普、戴尔推出ARM服务器_Intel服务器CPU_服务器产业-中关村在线...
- web前端面试合集2022版
热门文章
- 文件系统大目录下的操作性能效率提升
- 全球人工智能产业链产业图谱
- 网页录屏(帧记录)调研总结
- Javascript 中 atob/btoa
- 使用UltraEdit删除重复的行
- 我的世界刷猪人塔java版_我的世界主世界僵尸猪人刷怪塔制作教程
- python数据处理2: 拟合数据、整合数据、导出数据
- 为公寓运营商提供SaaS管理系统,寓小二获贝壳找房5000万元A轮融资...
- Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等
- 《knowledge graph embedding:a survey of approaches and applications》论文阅读