2019-02-17 by 崔斐然
我们先在anaconda中参考笔记1中的配置方法安装matlpotlib。
plt.plot绘制折线图,其中参数1:x轴坐标,参数2:Y轴坐标,参数3:颜色
import numpy as np
import matplotlib.pyplot as plt
# 实际操作中发现加上下面的命令才能一次显示,
%matplotlib inline
# 创建XY轴
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,7,6,2,6,10,15])
# plt.plot绘制折线图,其中参数1:x轴坐标,参数2:Y轴坐标,参数3:颜色
plt.plot(x,y,'red')
# 参数4:线条的宽度
plt.plot(x,y,'green',lw=10)
# # 绘制柱状图,参数1:x 参数2:y 参数3:线条的宽度 参数4:透明度 参数5:颜色
plt.bar(x,y,0.2,alpha=1,color='blue')
plt.show()
在pycharm运行中出现以下问题:
2019-02-17 22:51:38.162 python[17334:2131842] -[NSApplication _setup:]: unrecognized selector sent to instance 0x7fca4f44eef0
2019-02-17 22:51:38.166 python[17334:2131842] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSApplication _setup:]: unrecognized selector sent to instance 0x7fca4f44eef0'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff43b7decd __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff6fc35720 objc_exception_throw + 48
3 CoreFoundation 0x00007fff43b1fb40 ___forwarding___ + 1486
……
49 python 0x0000000105d1f7c6 Py_Main + 3734
50 python 0x0000000105b50f59 main + 313
51 libdyld.dylib 0x00007fff70d03ed9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
实验1:在jupyter中没有问题,不知道哪里的事情,
实验2:搜索到的一条是修改matlpotlib的配置文件可以解决,打开:
macOS ▸ 用户 ▸ dave ▸ anaconda3 ▸ envs ▸ TensorFlow37 ▸ lib ▸ python3.7 ▸ site-packages ▸ matplotlib ▸ mpl-data
修改 backend,不行。
方法二:参考Jancydc的博文:根治python中画图(matplotlib)“NSInvalidArgumentException”报错问题
真的解决了这个问题!
:如果是Anaconda安装的Python环境的话,首先我们需要重新配置我们的环境,先打开到这个页面:
我以前都是直接点击Conda Environment然后再来配置环境,这样话就会出现我所说的上面的报错问题,而正确的做法是点击第三个选项System Interpreter,如图
这应该是mac的自带python版本,然后我们添加新的环境,并找到Anaconda3文件中的python.app,单击并点开Contents中的MacOS文件夹,这时应该会出现python,如图:
选中并点击他,然后默认环境就配置好了,以后直接在终端安装各种包就都会在这个环境里了,做重要的是还不会出现所说的“NSInvalidArgumentException”报错,**这是最关键的!!!**实证如下:
import numpy as np
import matplotlib.pyplot as plt
# 创建XY轴
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,7,6,2,6,10,15])
# plt.plot绘制折线图,其中参数1:x轴坐标,参数2:Y轴坐标,参数3:颜色
plt.plot(x,y,'r')
# 参数4:线条的宽度
plt.plot(x,y,'g',lw=10)
# 绘制柱状图,参数1:x 参数2:y 参数3:线条的宽度 参数4:透明度 参数5:颜色
plt.bar(x,y,0.2,alpha=1,color='b')
plt.show()
输出图:
这样就彻底摆脱了前面***治标***的方法,开心ing!!!
---------------------
作者:Jancydc
来源:CSDN
原文:https://blog.csdn.net/Jancydc/article/details/84500912
版权声明:本文为博主原创文章,转载请附上博文链接!