【论文绘图】matplotlib,seaborn,proplot,SciencePlots入门知识

本文介绍了使用Python进行科研论文绘图,重点讲解了matplotlib的基础元素如Artists、figure和Axes的使用,以及seaborn库的relplot功能和不同类型的图表如关系图、数据分布图等。还提到了ProPlot和SciencePlots这类专门设计的绘图工具。

以下内容参考宁海涛老师的书《科研论文配图绘制指南——基于python》以及matplotlib官方文档、seaborn官方文档。

matplotlib

image.png
这些元素分别是用哪个接口控制的呢?

Artists

matplotlib共三层API,FigureCanvasRenderer 层负责处理底层细节,用户花95%的时间都是在Artists层。
Artists对象 有两种,基础对象和容器对象。 基础类元素包括常见的点(point)、 线(line)、文本(text)、网格(grid)、标题(title)、图例(legend)等;容器类元素则是指 一种或多种基础类元素的合集,主要包括图形、坐标图形、轴和刻度 。

figure

创建figure并在上面作图:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot

add_subplot 在图表中添加axes

Axes

Axes 是绘图区域, 也称为子图 。大部分对象都会进入其中,Axes 有许多特殊的辅助方法(plot()、text()、hist()、imshow()),可以创建最常见的图形原型(分别为 Line2D、Text、Rectangle、AxesImage)。

使用辅助方法创建元素:

接上例:

import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax.plot(t, s, color='blue', lw=2)

这样就在ax子图上添加了line元素。这个元素保存在ax.lines列表中。

移除元素的方法:

如果想要移除一条line:

line = ax.lines[0]
line.remove()

控制xy轴的方法:

每个Axes实例包含一个 XAxis 和一个 YAxis 实例,用于处理刻度、刻度标签和轴标签的布局和绘制。
设置轴标签

xtext = ax.set_xlabel(
<think>我们正在讨论如何使用`!pip install pandas scikit-learn matplotlib seaborn`进行安装。根据前面的引用,我们了解到: - 引用[1]和[2]都提到了安装这些库的命令,其中引用[2]给出了基础安装和完整安装两种选择。 - 引用[3]提供了使用国内镜像源加速安装的方法。 - 引用[5]提到在安装过程中可能遇到的问题及解决方法。 因此,我将给出详细的安装步骤,包括常规安装和使用镜像源加速安装,以及常见问题的解决方法。 ### 安装步骤 #### 方法1:常规安装(使用默认PyPI源) 在命令行(终端或命令提示符)中执行以下命令: ```bash pip install pandas scikit-learn matplotlib seaborn ``` 或者,如果您在Jupyter Notebook中,可以在代码单元格中使用: ```python !pip install pandas scikit-learn matplotlib seaborn ``` #### 方法2:使用国内镜像源加速安装(推荐国内用户) 如果从默认源安装速度慢,可以使用国内镜像源,例如清华源: ```bash pip install pandas scikit-learn matplotlib seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 在Jupyter Notebook中: ```python !pip install pandas scikit-learn matplotlib seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 安装验证 安装完成后,可以通过导入库来验证是否安装成功: ```python import pandas as pd import sklearn import matplotlib import seaborn as sns print("pandas version:", pd.__version__) print("scikit-learn version:", sklearn.__version__) print("matplotlib version:", matplotlib.__version__) print("seaborn version:", sns.__version__) ``` ### 常见问题及解决 1. **权限问题**:在Linux或macOS上,如果遇到权限错误,可以尝试使用`--user`选项: ```bash pip install --user pandas scikit-learn matplotlib seaborn ``` 2. **pip版本过低**:更新pip到最新版本: ```bash pip install --upgrade pip ``` 3. **安装过程中断**:可能是网络问题,尝试使用镜像源或重试。 4. **依赖冲突**:如果遇到依赖包版本冲突,可以尝试创建虚拟环境隔离安装,或者使用`conda`(如果安装了Anaconda): ```bash conda install pandas scikit-learn matplotlib seaborn ``` 5. **在PyCharm中安装**:可以通过PyCharm的Settings -> Project -> Python Interpreter -> 点击`+`号,搜索并安装这些包。 ### 注意事项 - 这些库的依赖关系:`pandas`依赖于`numpy`,`scikit-learn`依赖于`numpy`和`scipy`,`matplotlib`和`seaborn`也有各自的依赖。使用`pip`安装时会自动安装这些依赖。 - 如果安装`scikit-learn`时出现问题,可以尝试先安装`numpy`和`scipy`,再安装其他包。 ### 总结 使用`pip install`命令可以方便地安装这些Python库,国内用户建议使用镜像源加速。安装完成后,验证导入成功即可开始使用。 §§相关问题§§ 1. 如何升级已安装的`pandas`或`scikit-learn`到最新版本? 2. 使用`conda`和`pip`安装这些库有什么区别? 3. 安装过程中出现`ERROR: Could not build wheels for ...`错误应该如何解决? </think> # 使用 `!pip install pandas scikit-learn matplotlib seaborn` 安装指南 ## 完整安装教程 ### 1. 基础安装命令 在命令行或Jupyter Notebook中执行以下命令安装所需库: ```bash # 基础安装命令 !pip install pandas scikit-learn matplotlib seaborn ``` ### 2. 使用国内镜像加速安装 如果安装速度慢,可使用国内镜像源加速: ```bash # 使用清华源加速安装 !pip install pandas scikit-learn matplotlib seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 3. 安装验证 安装完成后,可通过以下Python代码验证是否安装成功: ```python import pandas as pd import sklearn import matplotlib import seaborn as sns print(f"pandas版本: {pd.__version__}") print(f"scikit-learn版本: {sklearn.__version__}") print(f"matplotlib版本: {matplotlib.__version__}") print(f"seaborn版本: {sns.__version__}") ``` ### 4. 常见安装问题解决 #### 问题1:权限不足(Linux/macOS) ```bash # 添加 --user 参数 !pip install --user pandas scikit-learn matplotlib seaborn ``` #### 问题2:依赖冲突 ```bash # 创建虚拟环境隔离安装 python -m venv myenv source myenv/bin/activate # Linux/macOS # 或 myenv\Scripts\activate # Windows pip install pandas scikit-learn matplotlib seaborn ``` #### 问题3:特定版本要求 ```bash # 指定版本安装 !pip install pandas==1.5.3 scikit-learn==1.2.2 matplotlib==3.7.1 seaborn==0.12.2 ``` ### 5. 完整依赖关系 这些库的依赖关系如下: | 主库 | 核心依赖 | |------|---------| | pandas | numpy, python-dateutil, pytz | | scikit-learn | numpy, scipy, joblib, threadpoolctl | | matplotlib | numpy, pillow, pyparsing, packaging, kiwisolver | | seaborn | pandas, matplotlib, numpy | ### 6. 使用Anaconda安装(替代方案) 如果使用Anaconda环境: ```bash # 创建新环境 conda create -n myenv python=3.9 # 激活环境 conda activate myenv # 安装库 conda install pandas scikit-learn matplotlib seaborn ``` ### 7. 验证安装成功的完整示例 ```python import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import seaborn as sns # 创建示例数据 data = pd.DataFrame({ 'X': np.arange(100), 'Y': np.arange(100) * 2 + np.random.normal(0, 10, 100) }) # 使用seaborn绘图 sns.scatterplot(data=data, x='X', y='Y') plt.title('安装验证图') plt.savefig('test_plot.png') # 使用scikit-learn建模 model = LinearRegression() model.fit(data[['X']], data['Y']) print(f"模型斜率: {model.coef_[0]:.2f}") print("所有库安装成功并运行正常!") ``` ## 安装流程图 ```mermaid graph TD A[开始安装] --> B[检查Python环境] B --> C{是否使用虚拟环境?} C -->|是| D[创建虚拟环境] C -->|否| E[直接安装] D --> F[激活虚拟环境] F --> E E --> G[执行pip安装命令] G --> H{是否成功?} H -->|失败| I[尝试镜像源安装] H -->|成功| J[验证安装] I --> H J --> K[测试导入库] K --> L{通过测试?} L -->|是| M[安装成功] L -->|否| N[检查错误信息] N --> O[解决依赖冲突] O --> G ``` ## 注意事项 1. 推荐使用Python 3.7+版本 2. Windows用户建议以管理员身份运行命令提示符 3. 如遇SSL错误,可临时添加信任主机参数: ```bash !pip install pandas scikit-learn matplotlib seaborn --trusted-host pypi.org --trusted-host files.pythonhosted.org ``` 4. 安装完成后,建议更新pip: ```bash !pip install --upgrade pip ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__心似大海__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值