python绘图(pandas)

matplotlib绘图

import pandas as pd 
abs_path = r'F:\Python\learn\python附件\pythonCsv\data.csv'
df = pd.read_csv(abs_path, encoding='gbk')
# apply根据多列生成新的一个列的操作,用apply
df['new_score'] = df.apply(lambda x : x.数学 + x.语文, axis=1)# 最后几行
df.tail(2)
序号姓名性别语文数学英语物理化学生物new_score
56李四808080808080160
67王五707070707070140
df = df.drop(['new_score'],axis=1)
df.head()
序号姓名性别语文数学英语物理化学生物
01渠敬辉806030403060
12韩辉909575758085
23韩文晴958085608090
34石天洋909095807580
45张三606060606060

绘图

import numpy as np
import matplotlib.pyplot as plt%matplotlib inline
# 上一行是必不可少的,不加这一行就不会显示到notebook之中
---------------------------------------------------------------------------ModuleNotFoundError                       Traceback (most recent call last)<ipython-input-11-e41dd406839b> in <module>1 import numpy as np
----> 2 import matplotlib.pyplot as plt3 4 get_ipython().run_line_magic('matplotlib', 'inline')5 # 上一行是必不可少的,不加这一行就不会显示到notebook之中G:\Anaconda\lib\site-packages\matplotlib\pyplot.py in <module>30 from cycler import cycler31 import matplotlib
---> 32 import matplotlib.colorbar33 import matplotlib.image34 from matplotlib import rcsetup, styleG:\Anaconda\lib\site-packages\matplotlib\colorbar.py in <module>25 26 import matplotlib as mpl
---> 27 import matplotlib.artist as martist28 import matplotlib.cbook as cbook29 import matplotlib.collections as collectionsModuleNotFoundError: No module named 'matplotlib.artist'
x = np.linspace(1,10,100)
y = np.sin(x)plt.plot(x,y)
plt.plot(x,np.cos(x))
[<matplotlib.lines.Line2D at 0x23236b74ec8>]

在这里插入图片描述

plt.plot(x,y,'--')
[<matplotlib.lines.Line2D at 0x23236c26108>]

在这里插入图片描述

fig = plt.figure()
plt.plot(x,y,'--')
[<matplotlib.lines.Line2D at 0x23236c9bac8>]

在这里插入图片描述

fig.savefig('F:/Python/learn/python附件/python图片/first_figure.png')
# 虚线样式
plt.subplot(2,1,2)
plt.plot(x,np.sin(x),'--')plt.subplot(2,1,1)
plt.plot(x,np.cos(x))
[<matplotlib.lines.Line2D at 0x23236e1bec8>]

在这里插入图片描述

# 点状样式
x = np.linspace(0,10,20)
plt.plot(x,np.sin(x),'o')
[<matplotlib.lines.Line2D at 0x23236f99048>]

在这里插入图片描述

# color控制颜色
x = np.linspace(0,10,20)
plt.plot(x,np.sin(x),'o',color='red')
[<matplotlib.lines.Line2D at 0x23237147188>]

在这里插入图片描述

# 加label
x = np.linspace(0,10,100)
y = np.sin(x)plt.plot(x,y,'--',label='sin(x)')
plt.plot(x,np.cos(x),'o',label='cos(x)')
# legend控制label的显示效果,loc是控制label的位置的显示
plt.legend(loc='upper right')
<matplotlib.legend.Legend at 0x23238463848>

在这里插入图片描述

plt.legend?
# 当遇到一个不熟悉的函数的时候,多使用?号,查看函数的文档
#plot函数,可定制的参数非常多
x = np.linspace(0,10,20)
y = np.sin(x)
plt.plot(x,y,'-d',color='orange',markersize=16,linewidth=2,markeredgecolor='gray',markeredgewidth=1)
(-0.5, 1.2)

在这里插入图片描述

# 具体参数可查看文档
plt.plot?
# ylim xlim 限定范围
plt.plot(x,y,'-d',color='orange',markersize=16,linewidth=2,markeredgecolor='gray',markeredgewidth=1)
plt.ylim(-0.5,1.2)
plt.xlim(2,8)
(2, 8)

在这里插入图片描述

# 散点图
plt.scatter(x,y,s=100, c='gray')
<matplotlib.collections.PathCollection at 0x23239ef89c8>

在这里插入图片描述

plt.style.use('seaborn-whitegrid')x = np.random.randn(100)
y = np.random.randn(100)
colors = np.random.rand(100)
sizes = 1000 * np.random.rand(100)
plt.scatter(x,y,c=colors,s=sizes,alpha=0.4)
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x23239c7f948>

在这里插入图片描述

pandas本身自带绘图

线型图

df = pd.DataFrame(np.random.rand(100,4).cumsum(0),columns=['A','B','C','D'])
df.plot()
<matplotlib.axes._subplots.AxesSubplot at 0x2323c0c8bc8>

在这里插入图片描述

df.A.plot()
<matplotlib.axes._subplots.AxesSubplot at 0x2323c15e648>

在这里插入图片描述

柱状图

df = pd.DataFrame(np.random.randint(10,50,(3,4)),columns=['A','B','C','D'],index=['one','two','three'])
df.plot.bar()
<matplotlib.axes._subplots.AxesSubplot at 0x2323c93ea88>

在这里插入图片描述

# df.B.plot.bar()
# 等价于上面的绘制
df.plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x2323c75e348>

在这里插入图片描述

df.plot(kind='bar',stacked=True)
<matplotlib.axes._subplots.AxesSubplot at 0x2323c86e648>

在这里插入图片描述

直方图

df = pd.DataFrame(np.random.randn(100,4),columns=['A','B','C','D'])
df.hist(column='A',figsize=(5,4))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000002323EB7DFC8>]],dtype=object)

在这里插入图片描述

密度图

df.plot.kde() # df.plot(kind='kde')
<matplotlib.axes._subplots.AxesSubplot at 0x2323cd84808>

在这里插入图片描述

3D图

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as npfig = plt.figure()
ax = fig.gca(projection='3d')# Make data
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2+Y**2)
Z = np.sin(R)#Plot the surface
surf = ax.plot_surface(X,Y,Z,cmap=cm.coolwarm,linewidth=0,antialiased=False)# Customize the z axis
ax.set_zlim(-1.01,1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))#Add a colcr bar which maps values to colors
fig.colorbar(surf, shrink=0.5, aspect=5)plt.show()
G:\Anaconda\lib\site-packages\ipykernel_launcher.py:8: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().

在这里插入图片描述

#再画一个利用coolwarm类型的图
import pylab as plt
import numpy as np
#数据处理
X=np.linspace(-6,6,1000)
Y=np.linspace(-6,6,1000)
X,Y=np.meshgrid(X,Y)
#设置绘图
#推荐plt.axes的写法,不容易出现图像显示空白的情况
ax=plt.axes(projection="3d")Z=np.sin(np.sqrt(X*X+Y*Y))surf=ax.plot_surface(X,Y,Z,cmap="coolwarm")
plt.colorbar(surf)
ax.set_xlabel("X",color='r')
ax.set_ylabel("Y",color='r')
plt.title("3D CoolWarm Surface", fontsize=10)
plt.savefig('F:/Python/learn/python附件/python图片/first_figure.png', dpi=500, bbox_inches='tight')
plt.show()

在这里插入图片描述

3D绘图实例

# 第一步 import导包import numpy as np
import matplotlib as mpl
from matplotlib import cm
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 第二步 水平和垂直平面# 创建画布
fig = plt.figure(figsize=(12, 8),facecolor='lightyellow')# 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke',projection='3d' )# 二元函数定义域平面
x = np.linspace(0, 9, 9)
y = np.linspace(0, 9, 9)
X, Y = np.meshgrid(x, y)# -------------------------------- 绘制 3D 图形 --------------------------------
# 平面 z=4.5 的部分
ax.plot_surface(X,Y,Z=X*0+4.5,color='g',alpha=0.6) # 平面 y=4.5 的部分
ax.plot_surface(X,Y=X*0+4.5,Z=Y,color='y',alpha=0.6)  # 平面 x=4.5 的部分
ax.plot_surface(X=X*0+4.5,Y=Y,Z=X, color='r',alpha=0.6)    
# --------------------------------  --------------------------------
# 设置坐标轴标题和刻度
ax.set(xlabel='X',ylabel='Y',zlabel='Z',xlim=(0, 9),ylim=(0, 9),zlim=(0, 9),xticks=np.arange(0, 10, 2),yticks=np.arange(0, 10, 1),zticks=np.arange(0, 10, 1))# 调整视角
ax.view_init(elev=15,    # 仰角azim=60   # 方位角)# 显示图形
plt.show()
G:\Anaconda\lib\site-packages\ipykernel_launcher.py:16: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().app.launch_new_instance()

在这里插入图片描述

# 第三步 斜平面# 创建画布
fig = plt.figure(figsize=(12, 8),facecolor='lightyellow')# 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke',projection='3d' )# 二元函数定义域
x = np.linspace(0, 9, 9)
y = np.linspace(0, 9, 9)
X, Y = np.meshgrid(x, y)# -------------------------------- 绘制 3D 图形 --------------------------------
# 平面 z=3 的部分
ax.plot_surface(X,Y,Z=X*0+3,color='g')
# 平面 z=2y 的部分
ax.plot_surface(X,Y=Y,Z=Y*2,color='y',alpha=0.6)
# 平面 z=-2y + 10 部分
ax.plot_surface(X=X,Y=Y,Z=-Y*2+10,color='r',alpha=0.7)
# --------------------------------  --------------------------------# 设置坐标轴标题和刻度
ax.set(xlabel='X',ylabel='Y',zlabel='Z',xlim=(0, 9),ylim=(0, 9),zlim=(0, 9),xticks=np.arange(0, 10, 2),yticks=np.arange(0, 10, 1),zticks=np.arange(0, 10, 1))# 调整视角
ax.view_init(elev=15,    # 仰角azim=10   # 方位角)# 显示图形
plt.show()
G:\Anaconda\lib\site-packages\ipykernel_launcher.py:10: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().# Remove the CWD from sys.path while we load stuff.

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#word文档:1.创建空白Word文档及保存/2.添加页内容...

---创建空白Word文档 --- &#xff08;1&#xff09;创建一个名为OfficeOperator的类库项目。引用操作Word的.NET类库 &#xff08;2&#xff09;定义用于操作Word的类WordOperator1。添加引用Microsoft.Office.Interop.Word命名空间。 &#xff08;3&#xff09;为WordOper…

Unity | Shader基础知识(第十三集:编写内置着色器阶段总结和表面着色器的补充介绍)

目录 前言 一、表面着色器的补充介绍 二、案例viewDir详解 1.viewDir是什么 2.viewDir的作用 3.使用viewDir写shader 前言 注意观察的小伙伴会发现&#xff0c;这组教程前半部分我们在编写着色器的时候&#xff0c;用的是顶点着色器和片元着色器的组合。 SubShader{CGPRO…

个股期权是什么,个股期权使用方法?

今天期权懂带你了解个股期权是什么,个股期权使用方法&#xff1f;个股期权作为金融市场的重要工具之一&#xff0c;是指投资者在约定时间内有权而非义务以约定价格买卖特定数量的个股的金融衍生品。 个股期权是什么&#xff1f; 个股期权合约是一种由交易所统一设定的标准化合…

git-新增业务代码分支

需求 使用git作为项目管理工具管理项目&#xff0c;我需要有两个分支&#xff0c;一个分支是日常的主分支&#xff0c;会频繁的推送和修改代码并推送另外一个是新的业务代码分支&#xff0c;是一个长期开发的功能&#xff0c;同时这个业务分支需要频繁的拉取主分支的代码&#…

Python_GUI框架 Pyside6的常用部件介绍

PySide6是一个非常完善的商用级别的GUI框架&#xff0c;涉及的知识点相对比较多&#xff0c;今天我先在这里介绍一下我们在实际应用中最常见的几种部件及其功能&#xff1a; 1. QMainWindow QMainWindow 提供了一个主应用程序窗口的框架&#xff0c;通常包含一个菜单栏、工具…

pytest教程-37-钩子函数-pytest_collection_finish

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest_collection_start钩子函数的使用方法&#xff0c;本小节我们讲解一下pytest_collection_finish钩子函数的使用方法。 pytest_collection_finish(session) 是一个 pytest 钩子函数&…

03_Redis

文章目录 Redis介绍安装及使用redis的核心配置数据结构常用命令stringlistsethashzset(sortedset) 内存淘汰策略Redis的Java客户端JedisRedisson Redis 介绍 Redis是一个NoSQL数据库。 NoSQL: not only SQL。表示非关系型数据库&#xff08;不支持SQL标准语法&#xff09;。 …

Java特性之设计模式【享元模式】

一、享元模式 概述 享元模式&#xff08;Flyweight Pattern&#xff09;主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能。这种类型的设计模式属于结构型模式&#xff0c;它提供了减少对象数量从而改善应用所需的对象结构的方式 享元模式尝试重用现有的同类对…

简述前后端分离架构案例

Hello , 这里是小恒不会java 。今晚1点写写关于RESTful接口的使用案例&#xff0c;本文会通过django原生js前后端分离的案例简单讲解。本文带你认识一下简化版的前后端分离架构 代码 本文案例代码在GitHub上 https://github.com/lmliheng/fontend前后端分离 先说说什么是前后…

GateWay检查接口耗时

添加gateway依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency>创建一个LogTimeGateWayFilterFactory类&#xff0c;可以不是这个名字但是后面必须是x…

【高校科研前沿】中国科学院地理资源所钟帅副研究员研究组博士生朱屹东为一作在Top期刊发文:从潜力到利用:探索西藏风能资源开发的技术路径优化布局

01 文章简介 论文名称&#xff1a;From potential to utilization: Exploring the optimal layout with the technical path of wind resource development in Tibet&#xff08;从潜力到利用:探索西藏风能资源开发的技术路径优化布局&#xff09; 文章发表期刊&#xff1a;《…

【Pytorch】2.TensorBoard的运用

什么是TensorBoard 是一个可视化和理解深度爵溪模型的工具。它可以通过显示模型结构、训练过程中的指标和图形化展示训练的效果来帮助用户更好地理解和调试他们的模型 TensorBoard的使用 安装tensorboard环境 在终端使用 conda install tensorboard通过anaconda安装 导入类Sum…

蛋白质/聚合物防污的机器学习(材料基因组计划)

前言&#xff1a;对于采用机器学习去研究聚合物的防污性能&#xff0c;以及或者其他性质。目前根据我的了解我认为最困难的点有三条&#xff1a; 其一&#xff1a;数据&#xff0c;对于将要训练的数据必须要有三点要求&#xff0c;1.数据要多&#xff0c;也就是大数据&#xff…

电子取证平航杯的复现

闻早起部分&#xff1a; 一、闻早起的windows10电脑 &#xff08;1&#xff09;.“闻早起”所使用的笔记本电脑使用何种加密程式&#xff1f; 1.在EFI文件中找到加密程式 &#xff08;2&#xff09; 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件&#xff0c;其版本…

寻找最佳App分发平台:小猪APP分发脱颖而出

在当今移动应用市场日益饱和的环境下&#xff0c;选择一个合适的App分发平台对于开发者来说至关重要。这不仅关系到应用能否快速触达目标用户&#xff0c;还直接影响到品牌的塑造与市场份额的争夺。本文将深入探讨几大关键因素&#xff0c;帮助开发者判断哪个App分发平台最适合…

Whisper、Voice Engine推出后,训练语音大模型的高质量数据去哪里找?

近期&#xff0c;OpenAI 在语音领域又带给我们惊喜&#xff0c;通过文本输入以及一段 15 秒的音频示例&#xff0c;可以生成既自然又与原声极为接近的语音。值得注意的是&#xff0c;即使是小模型&#xff0c;只需一个 15 秒的样本&#xff0c;也能创造出富有情感且逼真的声音。…

【driver4】锁,错误码,休眠唤醒,中断,虚拟内存,tasklet

文章目录 1.互斥锁和自旋锁选择&#xff1a;自旋锁&#xff08;开销少&#xff09;的自旋时间和被锁住的代码执行时间成正比关系2.linux错误码&#xff1a;64位系统内核空间最后一页地址为0xfffffffffffff000~0xffffffffffffffff&#xff0c;这段地址是被保留的&#xff0c;如果…

全球260多个国家的年通货膨胀率数据集(1960-2021年)

01、数据简介 全球年通货膨胀率是指全球范围内&#xff0c;在一年时间内&#xff0c;物价普遍上涨的比率。这种上涨可能是由于货币过度供应、需求过热、成本上升等原因导致的。通货膨胀率是衡量一个国家或地区经济状况和物价水平的重要指标&#xff0c;通常以消费者价格指数&a…

深度学习之DCGAN

目录 须知 转置卷积 DCGAN 什么是DCGAN 生成器代码 判别器代码 补充知识 LeakyReLU&#xff08;x&#xff09; torch.nn.Dropout torch.nn.Dropout2d DCGAN完整代码 运行结果 图形显示 须知 在讲解DCGAN之前我们首先要了解转置卷积和GAN 关于GAN在这片博客中已经很…

数据结构——链表专题2

文章目录 一、返回倒数第k 个节点二、链表的回文结构三、相交链表 一、返回倒数第k 个节点 原题链接&#xff1a;返回倒数第k 个节点 利用快慢指针的方法&#xff1a;先让fast走k步&#xff0c;然后fast和slow一起走&#xff0c;直到fast为空&#xff0c;最后slow指向的结点就…