jupyter notebook 如何在更改深色主题后调整绘图模式

在JupyterNotebook中使用jupyterthemes后,遇到图形显示不清晰的问题,主要是坐标轴在黑色背景上难以辨识。解决方法包括改变坐标轴颜色和使用jtplot模块调整plot风格以匹配主题。文章还展示了如何进行多项式计算和绘图,包括求导函数,并给出了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在引入 jupyter notebook 的 jupyterthemes 后,进行多项式绘图,发现显示的图形有问题,解决如下:

#这一句是IPython的魔法函数,可以在IPython编译器里直接使用,作用是内嵌画图,省略掉plt.show()这一步,直接显示图像。 
#如果不加这一句的话,我们在画图结束之后需要加上plt.show()才可以显示图像
%matplotlib inline

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#以下设置语句可以用于解决画图过程中出现的乱码问题!请参考使用(当你还是使用Python2的时候)。
#import sys
#from matplotlib.font_manager import FontProperties
#myfont=FontProperties(fname=r'/Users/Ruan/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf/msyh.ttc')


#myfont赋值为特定字体(如本例中的微软雅黑字体)存储在系统中的绝对路径
#在需要显示汉字的地方,指定自定义字体即可,如在x轴标签中要显示汉字:
#    plt.xlabel(u'汉字',fontproperties=myfont)
#

#plt.rcParams['axes.unicode_minus']=False    #解决负号'-'显示为方块的问题

#将标准输入、输出、错误重定向
#stdout=sys.stdout
#stdin=sys.stdin
#stderr=sys.stderr

#import imp
#imp.reload(sys)
#使用上述设置虽然可以解决中文乱码和编码问题,但还是建议尽量采用英文。


#多项式的写法
a=np.array([2,-3.5,1.6,-2,9])
#polynomial 多项式
p=np.poly1d(a)
#显示几次方,不大好看
print (p)

#均匀分布
x=np.linspace(0,9,10)
x

#带入多项式算出结果
y=p(x)
y

发现黑色的坐标轴在黑色的背景下几乎看不清.

解决方法1:改坐标轴颜色

plt.plot(x,y)
plt.xlabel('X')

#改坐标轴颜色
#获取坐标轴对象
ax = plt.gca()
#设置颜色
ax.tick_params(axis='both',colors = 'white')
#ax.tick_params(axis='both',colors = 'red')

plt.ylabel('Y')
plt.show()

解决方法2:使用jupyterthemes的jtplot将plot风格调整为与主题保持一致

#切换主题后,在jupyter进行plot渲染时,主题配色与默认的matplotlib默认配色相互影响,解决办法是使用jupyterthemes的jtplot将plot风格调整为与主题保持一致
# import jtplot module in notebook
from jupyterthemes import jtplot

# choose which theme to inherit plotting style from
# onedork | grade3 | oceans16 | chesterish | monokai | solarizedl | solarizedd
jtplot.style(theme='onedork')

# set "context" (paper, notebook, talk, poster)
# scale font-size of ticklabels, legend, etc.
# remove spines from x and y axes and make grid dashed
jtplot.style(context='talk', fscale=1.4, spines=False, gridlines='--')

# turn on X- and Y-axis tick marks (default=False)
# turn off the axis grid lines (default=True)
# and set the default figure size
jtplot.style(ticks=True, grid=False, figsize=(6, 4.5))

# reset default matplotlib rcParams
jtplot.reset()		

然后绘图,画2条曲线:

p1=p.deriv(m=1)	#deriv方法的参数m为1得到其一阶导函数
y1=p1(x)
plt.plot(x,y,x,y1)

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值