Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在pycharm中使用jupyter进行数据处理及绘图操作时,显示的图像突然丢失了刻度线?

在pycharm中使用jupyter进行数据处理及绘图操作时,显示的图像突然丢失了刻度线?

提问于 2024-11-01 12:16:37
回答 0关注 0查看 27
代码语言:javascript
运行
AI代码解释
复制
'''
大气辐射第二次作业
'''
# 第一问洛伦兹展宽
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# 假设我们已经从HITRAN提取了波数和吸收系数数据
# wave_numbers = np.array([...])  # 波数数组
# absorption_coefficients = np.array([...])  # 吸收系数数组

# (a) 使用Lorentz线形绘制吸收系数k与波数的关系gamma是半宽
# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.family'] = 'DejaVu Sans' # 不知道为什么会出现缺少子图故加上
def lorentzian(nu, s, nu_0, gamma):
    return (s / np.pi) * (gamma / ((nu - nu_0)**2 + gamma**2))

# 定义数据
data = {
    'v': [7280.31512, 7280.47400, 7281.08200, 7281.72912, 7282.70531,
                  7283.01859, 7283.73107, 7284.71668, 7285.04497, 7286.05083,
                  7287.00300, 7287.28900, 7287.50218, 7288.09091, 7290.10832],
    'S': [4.194E-03, 8.872E-04, 3.764E-02, 4.033E-03, 5.673E-04,
                          1.132E-02, 1.710E-02, 2.401E-03, 4.275E-04, 4.732E-03,
                          6.990E-03, 2.285E-02, 2.877E-04, 6.882E-02, 3.226E-02],
    'y_air': [0.0704, 0.0846, 0.0994, 0.0602, 0.0752,
                  0.0680, 0.0710, 0.0702, 0.0866, 0.0683,
                  0.0886, 0.1020, 0.0685, 0.1002, 0.0872]
}

# 创建 DataFrame
data = pd.DataFrame(data)

# # 示例参数
# S = 1.0  # 强度
# nu_0 = 7200  # 中心频率 (cm^-1)
# gamma = 10  # 线宽 (cm^-1)
wave_numbers = np.linspace(7278, 7292, 500)  # 波数范围


# 将数据转换为数值类型
data['v'] = pd.to_numeric(data['v'], errors='coerce')
data['S'] = pd.to_numeric(data['S'], errors='coerce')
data['y_air'] = pd.to_numeric(data['y_air'], errors='coerce')

# 绘制多个不同中心频率的洛伦兹线型
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
# 假设我们使用数据中的多个中心频率
# 初始化一个与 wave_numbers 形状相同的数组来存储累积的 k 值
total_k_values = np.zeros_like(wave_numbers)
for index, row in data.iterrows():
    nu_0 = row['v']  # 中心频率
    S = row['S']     # 吸收强度
    gamma = row['y_air']  # 线宽

    k_values = lorentzian(wave_numbers, S, nu_0, gamma)
    # 将当前的 k 值叠加到 total_k_values 中
    total_k_values += k_values
    ax.plot(wave_numbers, k_values, label=f'ν₀={nu_0:.2f} cm⁻¹')


ax.axis([7278, 7292, 1e-6, 1])

# 添加图例,放在坐标轴外部
ax.legend(loc='upper left', bbox_to_anchor=(1, 1))  # 调整位置

# 添加主刻度和次刻度 !!!!!
ax.xaxis.set_major_locator(plt.MultipleLocator(2))  # 主刻度间隔
ax.xaxis.set_minor_locator(plt.MultipleLocator(1))  # 次刻度间隔
ax.yaxis.set_major_locator(plt.LogLocator(base=10.0, numticks=10))  # 使用对数刻度
ax.yaxis.set_minor_locator(plt.LogLocator(base=10.0, subs='auto', numticks=10))
# 设置对数坐标
plt.yscale('log')

# 添加图例和标签
plt.xlabel('Wavenumber (cm$^{-1}$)')
plt.ylabel(r'Absorption Coefficient log(k$_\nu$) (atm cm$^{-1}$)')
plt.title('Absorption Coefficient of H$_{2}$O')
plt.grid(linestyle='--')

在绘制洛伦兹线性的吸收谱线时,第一次运行时图像如下

再次运行时,刻度线突然消失,图像如下:

有没有大佬可以解解惑,在网上搜索了半天一直没有结果。之前也出现过同样的问题,用.py文件运行相同的代码图像没有任何问题。不知道是不是jupyter自身的问题。

回答

成为首答用户。去 写回答
相关文章
在 Pycharm 中安装及使用 Jupyter (图文详解)
Pycharm 更新了对 Jupyter 的功能支持,结合 IntelliJ 的自动补全代码,自动格式化代码,执行调试,版本控制,以及大量的插件支持。
生信菜鸟团
2020/08/17
10.9K0
【Python】Jupyter在PyCharm中的使用
最近在学CS231n的课程,打算把作业做一下。由于官方给的例程是用的IPython,后缀名为ipynb,和之前接触的Python写法不一样,来记录一下自己今天踩到的一个坑。
全栈程序员站长
2022/11/01
5.3K0
【Python】Jupyter在PyCharm中的使用
matplotlib数据可视化
如果将文本数据和图表数据放在一起,人类的思维模式可能更适合于理解图表数据,因为图表数据更加直观、形象。使用图表来表示数据的方法就叫做数据可视化。可视化是在整个数据挖掘的关键辅助工具,可以帮助我们清晰的理解数据,从而调整我们的分析方法。通过可视化,能将数据更直观的呈现出来,使数据更加客观、更具说服力。
mindtechnist
2024/08/08
2830
matplotlib数据可视化
Pycharm 中安装及使用 Jupyter (图文详解)
Pycharm 更新了对 Jupyter 的功能支持,结合 IntelliJ 的自动补全代码,自动格式化代码,执行调试,版本控制,以及大量的插件支持。
白墨石
2021/01/13
3.3K0
Pycharm 中安装及使用 Jupyter (图文详解)
在PyCharm下使用Jupyter Notebook[通俗易懂]
点击“Cancel”取消 ,点击左下角的“Terminal”,输入“Jupyter-notebook”
全栈程序员站长
2022/09/25
1.6K0
在PyCharm下使用Jupyter Notebook[通俗易懂]
Python使用matplotlib.pyplot绘图时设置坐标轴刻度
问题描述:在使用matplotlib绘图时,可能会需要设置坐标轴上刻度之间的距离,或者为刻度设置标签。 技术要点:pyplot的xticks()和yticks()函数的用法。 参考代码1: 运行结果1
Python小屋屋主
2018/04/16
2.8K0
Python使用matplotlib.pyplot绘图时设置坐标轴刻度
PyCharm:设置是否在SciView中绘图
https://blog.csdn.net/qq_15969343/article/details/126107252
全栈程序员站长
2022/09/27
3.7K0
PyCharm:设置是否在SciView中绘图
Pycharm使用Jupyter
各种各样的警告信息 相关可以自定义的错误信息 这个是一点翻译,很明确指出要指定对应的库才可以使用 自定义的颜色界面 这个地方是配置页面 端口是8888 可以选择在pycharm里面运行的核心 对
云深无际
2021/04/14
6680
Pycharm使用Jupyter
Python人工智能经典算法之机器学习第一篇
1.机器学习概述 1.1 人工智能概述 1.人工智能起源 图灵测试 达特茅斯会议 2.人工智能三个阶段 1980年代是正式成形期 1990-2010年代是蓬勃发展期 2012年之后是深度学习期 3.人工智能、机器学习和深度学习 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 4.主要分支介绍 1.计算机视觉
海仔
2020/09/01
4960
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
2. 将pyinstaller tool加入到pycharm的 extern tool中
全栈程序员站长
2022/09/27
2.8K0
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
(数据科学学习手札43)Plotly基础内容介绍
  Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,本文就将以jupyter notebook为开发工具,详细介绍Plotly的基础内容。
Feffery
2018/07/12
3.8K0
Jupyter notebook 绘图时,如何生成高清图片?
最近有小伙伴问了个问题:如何在jupyter notebook,用Matplotlib画图时能够更“高清”?
朱小五
2021/09/03
6.1K0
Jupyter notebook 绘图时,如何生成高清图片?
【2023最新版】PyCharm使用 Jupyter Notebook详解(在conda环境里安装Jupyter~PyCharm使用conda环境~Jupyter自启动)
win11 安装 Anaconda(2022.10)+pycharm(2022.3/2023.1.4)+配置虚拟环境   Jupyter 是 Anaconda 发行版的一部分,并默认随 Anaconda 一起安装。 (也可以独立安装和使用,无需依赖 Anaconda)
Qomolangma
2024/07/29
1.1K0
【2023最新版】PyCharm使用 Jupyter Notebook详解(在conda环境里安装Jupyter~PyCharm使用conda环境~Jupyter自启动)
matplotlib - matplotlib 教程
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。
量子态的沐子呓
2019/12/25
5.1K0
matplotlib - matplotlib 教程
Python可视化神器——Plotly详细教程
前面我写过一篇关于plotly的文章,简要介绍了一下关于plotly的画图架构,参考链接:
小草AI
2019/05/31
34.9K3
matplotlib 设置绘图时显示中文
matplotlib绘图时,经常会遇到中文字体显示为方块的问题。网上有很多解决方案,比较普遍的是在代码里增加下面两行。
超哥的杂货铺
2020/07/28
1.2K0
pycharm的优势_jupyter pycharm
一直用sublime,最近写服务器和客户端的程序时就有些坑了,所以我简单说一下我遇到的他们的区别
全栈程序员站长
2022/09/27
1K0
Python数据可视化工具:Matplotlib学习笔记(一)
大家好,我是小雨。 今天要跟大家分享的内容?是关于Python数据可视化方面的内容。Python在数据处理方面真的太厉害了,所以总结了部分笔记,分享给大家一起学习。 简介 matplotlib是什
小雨coding
2021/03/27
1.5K0
点击加载更多

相似问题

在ValueError中绘图时,“jupyter : Mime类型呈现需要nbformat?

0200

jupyter中无法显示widgets控件以及pyecharts图像?

01.9K

jupyter notebook 的terminal 没有了root,而是tione?

1726

java突然没权限了,怎么回事?

1863

如何保存绘图到图像文件中,并且可以不是使用Matplotlib来显示它?

2740
相关问答用户
新浪微博 | 高级总监擅长4个领域
到家集团 | 技术VP擅长5个领域
擅长5个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档