SciencePlots安装(采坑+手动安装+Anaconda)

花了4个小时就为装这个玩样,终于解决了,真的又气又兴奋(笑死)。

不知道是版本问题还是什么,我在自己电脑上使用pip install SciencePlots安装,只能安装1.0.1版本,但是这个版本根本没有效果,用不了。然后我又使用手动安装si在了一个细节上坑太多了。


我的开发环境:

Anaconda python3.6

官方地址

(其实SciencePlots是matplotlib样式包,是给定了几个学术作图的样式)

SciencePlots · PyPIFormat Matplotlib for scientific plottinghttps://pypi.org/project/SciencePlots/1.0.9/#description

安装

# 使用pip安装
pip install SciencePlots

# from GitHub
pip install git+https://github.com/garrettj403/SciencePlots

# 使用git克隆
git clone https://github.com/garrettj403/SciencePlots.git
cd SciencePlots
pip install -e . #注意这个点.

手动安装

步骤一:

  • 在官网下载最新的1.0.9包到自己的电脑,随便解压到什么地方。

SciencePlots安装(采坑+手动安装+Anaconda)_第1张图片

步骤二:

找到Matplotlib样式目录,一般在C:\Users\用户\.matplotlib

新建一个stylelib文件夹

SciencePlots安装(采坑+手动安装+Anaconda)_第2张图片

如果你不知道在哪里,可以在python的控制台中输入

import matplotlib
print(matplotlib.get_configdir())

 SciencePlots安装(采坑+手动安装+Anaconda)_第3张图片

 步骤三:

找到刚刚解压的SciencePlots内的style内的所有.mplstyle文件全部复制到步骤二的stylelib文件夹中(重点:不要把整个style文件下的都复制过去,把下面color、journals、misc内.mplstyle文件的单独复制过去。我就si在这了,导致没效果,还一直在找原因

SciencePlots安装(采坑+手动安装+Anaconda)_第4张图片

 最后目录如下:

SciencePlots安装(采坑+手动安装+Anaconda)_第5张图片

 测试代码

代码来源

import numpy as np
import matplotlib.pyplot as plt


def model(x, p):
    return x ** (2 * p + 2) / (2 + x ** (2 * p))


x = np.linspace(0.75, 1.25, 201)

with plt.style.context(['science', 'no-latex']):
    fig, ax = plt.subplots()
    for p in [10, 15, 20, 30, 50, 100]:
        ax.plot(x, model(x, p), label=p)
    ax.legend(title='Order')
    ax.set(xlabel='Voltage (mV)')
    ax.set(ylabel='Current (μA)')
    ax.autoscale(tight=True)
    fig.savefig('fig1.png', dpi=300)

with plt.style.context(['science', 'ieee', 'no-latex']):
    fig, ax = plt.subplots()
    for p in [10, 20, 50]:
        ax.plot(x, model(x, p), label=p)
    ax.legend(title='Order')
    ax.set(xlabel='Voltage (mV)')
    ax.set(ylabel='Current (μA)')
    ax.autoscale(tight=True)
    fig.savefig('fig2.png', dpi=300)

with plt.style.context(['science','ieee', 'grid', 'no-latex']):
    fig, ax = plt.subplots()
    for p in [10, 20, 50]:
        ax.plot(x, model(x, p), label=p)
    ax.legend(title='Order')
    ax.set(xlabel='Voltage (mV)')
    ax.set(ylabel='Current (μA)')
    ax.autoscale(tight=True)
    fig.savefig('fig3.png', dpi=300)

帅哥美女总会随手点赞
帅哥美女总会随手点赞
帅哥美女总会随手点赞

你可能感兴趣的:(社团发现,算法,机器学习,知识图谱)